3. Vorgehensmodelle Flashcards
Definition Vorgehensmodell
Ein Vorgehensmodell stellt Methoden und Elemente der Softwareentwicklung inklusive des Projektmanagements zu Prozessen und Projektphasen eines standardisierten Projektablaufs zusammen.
Vorgehensmodelle sind die Basis für…
- Projektplanung
- Assessment
- Performance Analyse
- Prozessverbesserung
Stagewise modell
- Die einzelnen Phasen sind streng sequenziell zu durchlaufen
- Rückkopplungen und Schleifen zwischen den Phasen sind nicht erlaubt
Wasserfallmodell
Zwischen jeweils zwei aufeinander folgende Phasen sind Rückkopplungen erlaubt
→ höhere Flexibilität, ohne aber kostenintensive Überarbeitung über mehrere Projektphasen zuzulassen!
Vor- und Nachteile des Wasserfallmodells
+ einfach verständlich
+ kontrollierbarer Prozessablauf durch Meilensteine und Dokumentation am Ende jeder Phase
+ organisatorisch gut beherrschbar
+ wenig Managementaufwand
- durch streng Dokumentorientiertes Vorgehen Gefahr, dass Dokumente wichtiger als Projektziel /-inhalt werden
- Risiken werden erst in späterer Phase erkannt (keine frühen FeedbackMöglichkeiten)
- spätere Veränderung und Detaillierung von Anforderungen bleiben unberücksichtigt
- Anwender und Management sehen System erst nach Fertigstellung
- Test beginnt erst, wenn Entwicklung abgeschlossen
Empfehlung: Nur einsetzen, wenn am Anfang gleichzeitig alle Anforderungen bekannt sind und sich im Laufe des Projektes nicht ändern (selten der Fall!).
z.B. bei kleinen Projekten oder bei Weiterentwicklungen.
Grundprinzip V-Modell
Im Gegensatz zum Wasserfallmodell, wird verstärkt Wert auf das Thema Qualitätssicherung gelegt. Verifikation meist in diesem Zusammenhang:
„Geplanter, systematischer Prozess mit dem Ziel sicherzustellen, dass ein Arbeitsprodukt
seinen Anforderungen entspricht.“ D.h. praktisch: Testfälle werden nicht erst in der Hälfte
erstellt!
Vor- und Nachteile des V-Modells
+ detaillierte Darstellung von Systemerstellung, Qualitätssicherung, Konfigurationsmanagement und Projektmanagement
+ Vorgabe von definierten Aktivitäten Rollen, Produkten und Methoden
+ Unterstützung von parallelen Aktivitäten (nicht sequentiell)
+ Möglichkeit des „Tailoring“ des Prozesses auf projektspezifische Erfordernisse
+ standardisierte Abwicklung von Projekt- zur Systemerstellung
+ fordert Qualitätsbewusstsein (Definition Zielqualität, Überprüfung durch QS)
- Hohe Komplexität, hohe Kosten bei der Einführung
- bei kleineren und mittleren Projekten; unnötige Bürokratie bspl. Dokumentation und Vorgehensweise
- Ohne Case-Unterstützung nur schwer handhabbar
Standard-Phasenmodell in Logistikprojekten
Projektinitiierung
Projektplanung
IstAnalyse
SollKonzept
Projektumsetzung
Projektabschluss
Agility from the perspective of Dilts Pyramid
- Pyramide von oben nach unten
Purpose
Identity
Beliefs / Values
Capabilities / Competence
Behaviour
Environment
Agile Programmierung
- Rollen
- Product Owner
- Development Team
- Scrum Master
Agile Programmierung
- Key Artifacts
- Product Backlog
- Sprint Backlog
- Increment
Agile Programmierung
- Events
- Sprint Planning
- Daily Scrum
- Sprint Review
- Sprint Retrospective
Hybride PM-Modellen
Traditionelles Vorgehen
* Stabile Anforderungen, vorab definiert
* Möglichst wenig Veränderung
* Lieferung eines Gesamtergebnisses am Ende des
Projektes
* Stakeholder-Beteiligung zu den Meilensteinen
Agiles Vorgehen
* Dynamische Anforderungen, häufig verfeinert
* Fortlaufende Anpassungen
* Lieferung häufiger Zwischenergebnisse für Feedback und Kundennutzen
* Fortlaufende Einbindung wesentlicher Stakeholder
Hybrid: Kombination sequenziell, parallel oder
integriert
Sequenzielle Anwendung
- Anwendung verschiedener Modelle nacheinander in zeitlicher Abfolge der Projektphasen
- Klassisches Vorgehen innerhalb der angewandten Modelle
Vor- und Nachteile der sequenziellen Anwendung
+ Hohe Prozessstabilität
+ Vereinfachte Abgrenzung von Methoden und Rollen
+ Keine Überschneidungen verschiedener Modelle
- Keine Lösung für Phasen mit gleichermaßen traditionellen und agilen Voraussetzungen
- Ggf. Verlängerung der Projektdauer
- Ggf. Konflikte durch unterschiedliche Denk- und Handlungsweisen
Parallele Anwendung
- Anwendung verschiedener Modelle gleichzeitig, getrennt nach Teilprojekten
- Klassisches Vorgehen innerhalb der angewandten Modelle
Vor- und Nachteile der parallele Anwendung
+ Hohe Prozessstabilität
+ Vereinfachte Abgrenzung von Methoden und Rollen
+ Zusammenarbeit mit anders arbeitenden Organisationsbereichen möglich
- Keine Lösung für Teilprojekte mit gleichermaßen traditionellen und agilen Voraussetzungen
- Gefahr von Spannungen im Projektablauf und einem unstimmigen Gesamtergebnis bei mangelhafter Synchronisation
- Ggf. Rollenkonflikte
Integrierte Anwendung
- Anwendung verschiedener Modelle entlang des Projektlebenszyklus situativ angemessen
- Modernes Vorgehen innerhalb der angewandten Modelle
Vor- und Nachteile der integrierte Anwendung
+ Umgang mit gleichermaßen traditionellen und agilen Voraussetzungen möglich
+ Flexibilität in der Vorgehensweise
+ Individuell anpassbar, d.h. maßgeschneiderte Vorgehensweise
- Gefahr von Lücken, Widersprüchen und Inkonsistenzen
- Bei übertriebener Kombination Entstehung von überhöhter Komplexität und Fehleranfälligkeit
- Gefahr von Verlust der Prozessstabilität
- Ggf. Rollenkonflikte
Was ist ein sinnvolles hybrides PM-Modell für Bauprojekte?
Sequenziell – Scrum und Wasserfallmodell:
- Stabilisierung der Anforderungen in der Planungsphase durch agile und iterative Objektmodelle
- Umsetzung von Bestandteilen mit noch volatilen Anforderungen so spät wie möglich
Vor- und Nachteile DevOps
+ Technisch:
Kombination aus „Continuous Delivery“ mit
agilen Entwicklungsmethoden
+ Technisch:
Reduktion der Komplexität durch Kürzung
des „Software Development Life Cycles“
+ Kulturell:
Grundsätzlich zufriedenere Mitarbeiter,
produktivere Teams und mehr individuelles
Engagement
+ Wirtschaftlich:
Schnellere Bereitstellung neuer
Funktionalitäten, stabilere Anwendungen,
effizientere Prozesse und mehr Innovation
(→ schneller auf dem
Markt (Wettbewerbsvorteil ))
+ Wirtschaftlich:
Gemeinsamer Nutzen von Entwicklungs-,
Test- und Betriebsumgebung führt zu
Kostenersparnissen (Cloud-Infrastruktur)
- Erfordert eine übergreifende Sicht von
Programmierern, Testern, Architekten und
Service Administratoren (Ops) - Umstellung auf flache Hierarchien
- Umstellung auf pragmatisches Vorgehen
(Bürokratismus bremst agile Methoden) - Z. T. werden nicht ganz ausgereifte Produkte
geliefert, die noch „Continuous Improved“
werden