VL 3 Flashcards
Vorgehensmodelle
Ein Vorgehensmodell stellt Methoden und Elemente der Softwareentwicklung
inklusive des Projektmanagements zu Prozessen und Projektphasen eines standardisierten
Projektablaufs zusammen.
Stagewise (Rückkopplung nicht erlaubt) /Wasserfallmodell (einstufige Rückkopplung erlaubt) in IT
(Vor- und Nachteile)
- Anforderungsanalyse
- System- und Moduldesign
- Implementierung und Modultest
- Integration und Systemtest
- Installation und Wartung
Vorteile: • Leicht verst¨andlich • Kontrollierbarer Prozessablauf durch Meilensteine und Dokumentation am Ende jeder Phase • organisatorisch gut beherrschbar
Nachteile • Risiken werden erst in sp¨aterer Phase erkannt • Keine spa¨ten A¨ nderungen von Anforderungen • Anwender und Management sehen Anwendung erst nach Fertigstellung
V-Modell (Vor- und Nachteile)
Vorteile • Detaillierte Darstellung • Vorgabe von definierten Aktivit ¨aten, Rollen, Produkten und Methoden • Unterst ¨ utzung von parallelen Aktivit ¨aten • Standardisierte Abwicklung von Projekten zur Systemerstellung
Nachteile • Hohe Komplexit¨at und somit hohe Kosten bei der Einf ¨uhrung • Bei kleineren und mittleren Projekten unn¨otige B¨ urokratie bspw. Dokumentation und Vorgehensweise • Ohne Case-Unterst ¨ utzung nur schwer handhabbar
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!
Standard Phasenmodell in der Logistik
Projektinitiierung (Projektstrukturplan und Projektorganisation), Projektplanung, Ist-Analyse (Stärken/Schwächenprofil), Soll-Konzept, Projektumsetzung + Projektabschluss (Realisierung)
Agiles Projektmanagement (Dilts Pyramid)
von oben nach unten: Purpose, Identity, Beliefs/Values, Capabilities/Compentence, Behavior, Environment
Project Mangement vs. Product Development Process
PROJECT: Initiating, Planning, Executing, Monitoring, Closing
PRODUCT: Analysis, Design, Realization, Testing, Roll-out
Sequenzielle Anwendung
Anwendung verschiedener Modelle nacheinander in zeitlicher Abfolge der Projektphasen
• KlassischesVorgeheninnerhalbderangewandtenModelle
Vorteile: • Hohe Prozessstabilität
• Vereinfachte Abgrenzung von Methoden und Rollen
• Keine Überschneidungen verschiedener Modelle
Nachteile: • 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 Anwendungen
• Anwendung verschiedener Modelle gleichzeitig, getrennt nach Teilprojekten • KlassischesVorgeheninnerhalbderangewandtenModelle
Vorteile: Hohe Prozessstabilität
• Vereinfachte Abgrenzung von Methoden und Rollen
• Zusammenarbeit mit anders arbeitenden
Organisationsbereichen möglich
Nachteile: • 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 Anwendungen
- Anwendung verschiedener Modelle entlang des Projektlebenszyklus situativ angemessen
- ModernesVorgeheninnerhalbderangewandtenModelle
Vorteile: • Umgang mit gleichermaßen traditionellen und agilen Voraussetzungen möglich
• Flexibilität in der Vorgehensweise
• Individuell anpassbar, d.h. maßgeschneiderte Vorgehensweise
Nachteile: • 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
DevOps (Development Operations) Vorteile/Nachteile
Vorteile: 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)
Nachteile: - 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