Fast Projects Erfahrungen und Gestaltungsmöglichkeiten von IT- und Software-Projekten, die unter Hochdruck ablaufen
Qualität & Informatik - Leistungsfelder Training CMM Level 2 Kurse: Software Configuration Management Software Quality Assurance Software Subcontractor Management Software Project Tracking and Oversight Software Project Planning Requirements Management Anforderungsermittlung sowie: Risikomanagement Einführung von Metriken Software-Qualitätsmanagement Reviews und Inspektionen Systematisches Testen Testmanagement Geschäftsprozessmodellierung Organisationsbezogenes Änderungsmanagement Projekt- Coaching Consulting Support Projektmanagement Risikomanagement Qualitätsmanagement und -sicherung Requirements-Engineering Projekt-Set-Up Etablieren und Betreiben eines Project Office IT-/Software-Akquisitions- und Lieferantenmanagement Projektaudits, -assessments und -reviews Prozess für Projektleiterentwicklung Metrikprogramme EFQM-, CMM-, Bootstrap- und SPICE-Assessment Projekt-/Prozess-Erfahrungsworkshop Prozess- Coaching Consulting Support Identifikation und Definition der Prozess-Architekturen und Schlüsselprozesse Bestimmung der Prozesse, die nicht optimiert sind und reengineert werden müssen Bildung einer Verbesserungsorganisation (Process-Action-Team, SEPG) Begleitung und Unterstützung der Prozessteams mit Vorgehen, Werkzeugen und Know-how (“Best Practices”) Implementierung eines Verbesserungsprozesses Vorbereitung auf die ISO 9001- Zertifizierung
Unsere Kunden • AXPO Informatik, Baden • BMW, München / BMW Rolls Royce, Berlin • CSS Versicherungen, Luzern • DaimlerChrysler, Sindelfingen • T Systems Österreich, Wien • Deutsche Bank, Frankfurt • Dresdner Bank, Frankfurt • IN-EX-SYS, Zürich • KAGes, Graz • NCR Schweiz / AT&T, Zürich • North West Water / Ernst & Young, Manchester • Oracle, München • RTC, Bern • Swisscontrol, Zürich - Genf • AHB, Stadt Zürich • STEAG AST, Ulm • UBS, Zürich • Unisys (Schweiz) AG • VW, Wolfsburg • Webasto, Stockdorf/Münchern • Wiener Allianz Anglo-Elementar Versicherungs-AG, Wien • Wincor Nixdorf AG, Zürich • Zurich Insurance Company • ZKB 4
Schnell, schneller, am schnellsten...? billig schnell best quality Zeitdruck Agile Entwicklung Zufriedenheit CMM ISO SPICE
Übersicht über den Vortrag Ziele: Erfahrungsaustausch und Anregungen zur Gestaltung schnelllebiger Projekte (Fast-Projects, Rapid Development RD, Agile Entwicklung) Inhalt: Rahmenbedingungen von RD-Projekten RD-Prinzipien Modelle für RD-Projekte Projektorganisation Fallen und Bumerang-Effekte
Rahmenbedingungen von Rapid Development Projekten Zeitwettbewerb Innovationsstrategie Kurzfristiger Return on Investment Vordefinierter Bereitstellungstermin Unklare und instabile Anforderungen Schaffen eines „irgendwie attraktiven“ Produkts statt Erfüllung spezifizierter Anforderungen Konzentration auf essentielle Anforderungen und einzelne Begeisterungsmerkmale Erhebliche Komplexität und Innovationsbedarf Neuartige Applikationen Ausschöpfen von Potentialen neuer Technologien Hohe Anforderungen an die Fehlerfreiheit Schnelligkeit ohne Qualität ist wertlos
4 Dimensionen der Entwicklungsgeschwindgkeit - Produktivität 1:10 - Teamleistung 1:5 - Auswahl (Toptalent, Job matching, Karriere, Teambalance, Beseitigen von Störfaktoren) Personal - Produktgrösse Produktmerkmale Kritikalität Prozess Produkt - Agile, leichte Prozesse - Vermeide Rework - Risikomanagement/QS - Einfache, integrierbare Tools, - Arbeits-, Programmierumgebungen Technologie
SEI 2001
SEI 2001
RD-Prinzipien (in Anlehnung an DSDM) Aktive Beteiligung von Benutzern während der Projektdauer Entwicklungsteam verfügt über Entscheidungskompetenz Häufige Bereitstellung von Prototypen, Zwischenversionen oder Teilprodukten “Fitness for business purpose” ist das entscheidende Qualitätskriterium Angemessene Lösung entsteht durch iterative und inkrementelle Entwicklung Entscheidungen sind während der Entwicklung reversibel Anforderungen werden auf einer hohen Abstraktionsstufe (baseline) festgelegt Testen und Entwicklung sind vollständig miteinander integriert Beteiligung aller Stakeholder
Modelle für RD-Projekte XP FDD DSDM RUP Agile Prozesse ASD CMM ISO SPICE
Dynamic Systems Development Method (DSDM) Feasi- bility Study Business Study Agree Plan Create Identify Functional Functional Prototype Prototype Review Prototype Implement Review Train Business Users User Approval and Guidelines Functional Model Iteration Implementation Identify Design Prototypes Agree Review Plan Design Prototype Create Design Prototype Design and Build Iteration Quelle: DSDM Consortium
Beitrag des DSDM zum RD Was das Modell leistet Framework zur Gestaltung von RD-Projekten Ausrichtung auf Geschäftsziele Fokussierung auf wichtige Anforderungen Facilitated Workshops Timeboxing Controlled Prototyping Was das Modell nicht leistet Operative Projektplanung Methodisch/ technische Unterstützung Ableitung der Architektur (functional und non-functional requirements) Anwendung für komplexe Projekte/ Umgang mit wenig visualisierbaren Komponenten
Unified / Rational Process Inception Elaboration Construction Transition Requirements Analysis Design Implementation Test Core Workflows Iter. #1 Iter. #2 ... ... ... ... ... ... Iter. #n-1 Iter. #n Releases Birth Death ... Time Cycles concluded with a release Quelle: u.a. Kruchten
Beitrag des Rational Process zum RD Was das Modell leistet Framework Struktur/ Releasekonzept: Workflow und Bildung von Inkrementen Architekturorientierung Durchgängige Modellbildung Nutzt Methoden der Objekt-Orientierung (UML) Was das Modell nicht leistet Universell, RD ist nur Option Einschränkung auf UML RD-Vorgehensmodell
Agile Prozesse / Modelle Prinzipien (Agiles Manifest nach Highsmith): 1 Einzelpersonen und Inteaktion sind uns wichtiger als Prozesse und Werkzeuge 2 Laufende Systeme sind uns wichtiger als umfangreiche Dokumentation 3 Zusammenarbeit mit dem Kunden ist uns wichtiger als Vertragsverhandlung 4 Die Fähigkeit, auf Änderungen zu reagieren ist uns wichtiger als das Verfolgen eines Plans
Beispiel eXtrem Programming [www. xprogramming. com], [www Beispiel eXtrem Programming [www.xprogramming.com], [www.xprogramming.org] - keine grosse Analyse - kein grosser Design - Keine Dokumentation - Implementierung startet sofort - permanentes Testen Kurze Inkremente Paar-Programmierer - Gemeinsamer Code - erstes Release sehr früh - Inkrementelle Änerungen Schnelles Feedback Kunde vor Ort
Bewertung eXtrem Programming Merkmale: - Streben nach Einfachheit - kurze Entwicklungszyklen gepaart mit - absoluter Priorität auf Termin-/Kosteneinhaltung - unmitelbares Feedback - wenig reglementiertes Vorgehen (Metaprozess) Kritik von Projektleitern: - nicht für Großprojekte/Festpreisaufträge geeignet - verlangen sehr effektive und disziplinierte Teams - ungenügende oder fehlende Dokumentation
Anwendbarkeit von Rapid Development
RD-Projektorganisation und Projektsteuerung Releasemanagement/ Projektkoordination Requirements Management Release Planung Ressourcen Management Abnahme JAD Gate JAD Gate Gate JAD JAD Gate Projekt Definition Team Feature Team Feature Team Feature Team Support Team(s) Pflege der Entwicklungs- umgebung Pflege der Integrations- und Testumgebung Konfigurations- management Betrieb (Unterstützung)
Fallen und Bumerang-Effekte Iterative Vorgehensweise versus Rework Generalisierung versus Verzicht auf Spezialisierung Risikomanagement versus Verlagerung von Problemen Integrierte Qualitätssicherung versus Verzicht auf explizites Testen Selbstbestimmung versus Projektmanagement Angemessener Formalismus versus „Außerkraftsetzung“ von Projektregeln RD ohne radikale Fristen RD ohne Beteiligung des Anwenders/ Auftraggebers Architektur
Vergleich von Rapid Development und wasserfallorientiertem Vorgehen Strukturierung des Entwicklungsvorhabens nach Ergebnissen statt nach Aufgaben Sehr früh nutzbarer Code statt einmalige Codierung am Ende des Projekts Laufende Validierung und Verifizierung statt Abnahme der Entwicklungsergebnisse nach Fertigstellung Vorgehen entspricht der Vorgehensweise führender Standardsoftwarehersteller Graham: „Rapid, or incremental, delivery is a key need for modern business“
Literatur http://www.jimhighsmith.com http://www.crystalmethodologies.org DSDM Dynamic systems development method. Version 3 Tesseract Publishing. DSDM Dynamic systems development method. The method in practice. Jennifer Stapelton, DSDM Consortium 1997. Addison-Wesley. ISBN 0-201-17889-3. http://www.dsdm.org Rapid Development. Steve McConnell, Microsoft Press, ISBN 1-55615-900-5 The Unified Software Development Process. Ivar Jacobsen, Grady Booch, James Rumbaugh. Addison Wesley 1999. ISBN 201-57169-2 The Rational Unified Process. Phillipe Kruchten. Longman Higher Education; ISBN: 0201707101 Requirements Engineering and Rapid Development. An Object-Oriented Approach. Ian Graham. Addison-Wesley. ISBN 0-201-36047-0 http://www.xprogramming.com