Agile SW-Entwicklung Flashcards
Ziel der SCRUM
schnell flexibel wenig Aufand Kunde zufriedenstellen (hidden: nicht alles auf einmal ändern)
SCRUM…(Vorgehen)
- Entkoppelung zwischen Innen (im Projektteam) und Außen (alles andere)
- Backlog-Owner org. Backlog
- Team übernimmt Sprint-Backlog
- Dann Ruhe, Team arbeitet innen
- Team kann nach außen kommunizieren, muss aber nicht
- Tätigkeit im Team ist nicht von SCRUM festgelegt
- Kontakt mit Außen; Nach dem Sprint oder bei (Innen-)Bedarf
Product Backlog (Idee)
(Stapel von User Stories)
- ein Stapel enthält nützliche Feature-Beschreibungen
- Jedes Feature enthält alle Teile, von DB bis GUI… (in so einfach wie möglich)
- WICHTIG: müssen nach Nutzen-für-Kunden sortiert sein!!!! => dafür ist der Kunde zuständig
Handling der User Stories—
- Kunde schreibt und wird dabei von Entwicklern unterstützt
- Entwickler schätzen relativen Aufwand
- Kunden sortieren nach Nuzen und berücksichtigen dabei den Aufwand
- PO (Product Owner) managed ‘die Kunden’
SCRUM
ist kein Modell und keine konkrete Beschreibung für das agile Vorgehen. Es gibt nur Rahmenbedingungen vor, wie Projektrollen und einen Prozessablauf.
ProjektVERLAUF bei SCRUM
- Alle Anforderungen aus Kundensicht sammeln (Product Backlog)
- Iterationsplannung für Projekt mit Kunde vereinbaren
- Teilmenge der (‘ready’) Anforderungen für Iteration festlegen (Sprint Backlog)
- Teilprodukt in Iteration entwickeln (Daily Scrum)
- Feedback des Kunden zu Teilprodukt einholen (Review)
- Planung gemäß Feedback anpassen
(Verbesserungen, Fehlerbehebungen, neue /’ready’ Anforderungen an Prod. Backlog hinzugefügt)
(Schritte 3 bis 6 bis zum Projektende wiederholen)
Sprint..def
- –entspricht einer Iteration.
- darf höchstens 1 Monat dauern.
- alle Sprints/Iterationen innerhalb eines Scrum-Prozesses sollen die gleiche Dauer haben.
Scrum Master…def
…ist verantwortlich für das Einhalten des SCRUM Prozesses.
Product Owner…def
…ist als Fachexperte verantwortlich für die Anforderungen.
.. ist auch für die Pflege des Product Backlogs verantwortlich.
…muss sicherstellen, dass die Anforderungen im Product Backlog nach Nutzen sortiert sind.
Daily Scrum…def
…ein Daily-Standup-Meeting.
Retrospective…def
…ein Meeting zur Rückschau auf den Prozess zwecks kontinuierlicher Verbesserung.
Review…def
…ein Meeting, um Feedback zum aktuellen Inkrement zu erhalten.
Definition of Done…
…vom ganzen Team akzeptierte Kriterien, wann genau eine Aufgabe als erledigt gilt.
Product Backlog…def
…die für das Produkt insgesamt umzusetzenden Aufgaben bzw. Anforderungen. (nach Wichtigkeit durchnummeriert)
Sprint Backlog..def
…die für die nächste Iteration ( Sprint ) umzusetzenden Aufgaben bzw. Anforderungen.
Artefakte bei SCRUM..
…sind Dateien, die während der Entwicklung als (Zwischen-)Ergebnis entstehen.
Bei Scrum sind 3 Artefakte:
- Inkrement
- Product Backlog
- Sprint Backlog
Inkrement… (SCRUM)
… entspricht einem Teilprodukt der Entwicklung, wie es durch eine Iteration (Sprint) entsteht.
Srum legt zusätzlich besonderen Wert darauf, dass…
…jedes Inkrement in einem einsatzfähigen Zustand ist, der Kunde es also verwenden könnte, wenn er wollte.
Rollen in einem Scrum PRojektteam…
- Scrum Master (im Team genau 1)
- Product Owner (im Team genau 1)
- das Development Team
Scrum Maste != Product Owner (nicht der gleiche Person)
Versch. Personen können die gleichen Rollen haben.
Scrum Idee =
Scrum Idee = Selbstorganisation im Team
Agiles Manifesto…
Value:
- individuals and interactions OVER processes and tools
- working software OVER comprehensive documentation
- customer collaboration OVER contract negotiation
- responding to change OVER following a plan
Haltung - Kommunikation
Geschwindigkeit - Funktionsfähiger SW
Kundenzentriertheit
Anpassungsfähigkeit
AGIL
Adaption
Goal attainment
Integration
Latency
feingranulare Verträge (+/-)
- Planung
- Endergebnis
- Reaktion an Änderungen
- Aufwand
++ klare Arbeitsgrundlage (Endergebnis)
+ finanzielle Sicherheit (Planung)
– enorm aufwändig (Aufwand)
– Änderungen schwer durchsetzbar (Reaktion)
ad hoc (+/-)
- Planung
- Endergebnis
- Reaktion an Änderungen
- Aufwand
+ wenig Planungsaufwand (Planung)
+ individuelle Freiheit (Aufwand)
– Ergebnis unvorhersehbar (Endergebnis)
– abhängig von ‘Helden’ (Reaktion)
Meilenstein- und Plangetrieben (+/-)
- Planung
- Endergebnis
- Reaktion an Änderungen
- Aufwand
+ langfristige Vorhersagen (Endergebnis)
+ gute Zustandskontrolle (Planung)
– Änderungen aufwändig (Reaktion)
– unrealistische Annahmen schwer zu eliminieren (Aufwand)
Meilenstein- und Risikogesteuert (+/-)
- Planung
- Endergebnis
- Reaktion an Änderungen
- Aufwand
(Spiralmodell) \++ Risiken aktiv ausgeräumt (Reaktion) \+ Teilergebnisse früh (Endergebnis) - kaum langfristig planbar (Planung) - relativ aufwändig (Aufwand)
eXtreme Programming (+/-)
- Planung
- Endergebnis
- Reaktion an Änderungen
- Aufwand
+ früh Kernergebnisse (Endergebnis)
++ Änderungen unproblem (Reaktion)
- in sehr großen Projekten Zusatzplaning nötig (Planung)
- viel Selbstdisziplin nötig (Aufwand)
Agiles Beispiel: scrum (+/-)
- Planung
- Endergebnis
- Reaktion an Änderungen
- Aufwand
+ mittelfristig geplant (Planung)
+ reagiert schnell (Reaktion)
- hängt an MA-Qualifikation (Aufwand)
- Endprodukt nicht spezifiziert (Endergebnis)
Planung im Projekt (Sorted)
ad hoc (WENIG Planung) eXtreme Programming Scrum (agil) Spieralmodel (Meilenstein und Risikogesteuert) Meilenstein und Plangetrieben feingranulare Verträge (VIEL Planung)
Kommunikationsvarianten
- Gespräch
- Video Konferenz
- Telefonat
- Paper (ohne Nachfragen u. Feedback)
Wie wird ein Projekt agiler?
- Druck reduzieren durch leicht-gewichtige Ansätze
(unnötige Dok. einsparen, Vorgaben und Templates verschlanken) - Vage Anforderungen und Änderungen einkalkulieren
(schnell zum Kernsystem, Weiterentwicklung inkrementell) - Besseres Feedback
(konkrete org. und technische Maßnahmen, engere Kundeneinbindung)
XP Prinzipien 5
- Kundenzufriedenheit
- Einfachheit
- späte Änderungen willkommen
- direkte Face-2-Face Kommunikation
- Regelmäßiges Feedback
Was heißt eXtreme?
- erfordert extreme Disziplin
- Praktiken aus SW-Entw. werden ins Extrem geführt
- ständige Code-Reviews durch Pair-Programming
- ständig mehrmals täglich testen + vor dem Implementieren die Testfälle erstellen.
Anwender (XP)
beantwortet die fachliche Rückfragen.
Kunde XP
priorisiert Story Cards
Spikes in XP
= Prototypen = Labormuster = keine Teilsysteme
Sample Design, Einfacher Entwurf bedeutet:
einfach zu implementiere zu ändern zu testen zu verstehen
Feedback beim XP
Pair Programming -> sekunden Uni Test -> Minuten Pair Negotiation -> Stunden Stand Up Meeting -> Ein Tag Iteration Plan -> Wochen Release Plan -> Monate
Scrum Schwerpunkt..
…auf dem Management des Entwicklungsprozesses.
XP Schwerpunktt…
… auf Einsatz von “Sammlung” von SW-Entwicklungspraktiken
Der Reifegrad für Agilität…
zeigt das Level an, wie stark die Prinzipien aus dem Manifest für agile Softwareentwicklung befolgt werden.