Softwaretechnik WS 16/17 Übungsblatt 03 Entwicklungsmodelle Scrum-Grundlagen Philipp Wendler 10. November 2016 1 / 30
Aufgabe Das Management des deutschlandweit empfangbaren Fernsehsenders SWT-TV hat erkannt, dass die Zukunft des Fernsehens online stattfinden wird. Daher wurde beschlossen das Online-Angebot des Senders insbesondere um eine zeitgemäße Mediathek zu erweitern. In der Mediathek sollen gesendete Inhalte zeitnah für die Zuschauerschaft bereitgestellt werden. Außerdem soll es möglich sein für ausgewählte Inhalte einen Live-Stream zur Verfügung zu stellen. Um den Zuschauern eine Anmeldung für das zukünftig geplante SWT-TV-premium Angebot schmackhaft zu machen ist außerdem ein Premium-Bereich mit besonderen Inhalten angedacht. Das Management tritt an Sie und Ihr Entwicklerteam heran und bittet Sie um eine Umsetzung der oben beschriebenen Anforderungen. 2 / 30
Entwicklungsmodelle Mit welchem Entwicklungsmodell würden sie geschickter Weise das Projekt umsetzen? Begründen Sie ihre Entscheidung gegenüber dem Management. 3 / 30
Vorgehensweise Zu stellende Fragen: Anforderungen anfangs klar definiert? Nein Lässt sich das Projekt vorhersagend steuern? Nein Lassen sich spätere Änderungen weitestgehend vermeiden? Voraussichtlich nicht Werden den Fortschritt illustrierende Milestones gefordert? Nicht ausdrücklich gefordert, aber inkrementelle Entwicklung (Premium-Features später) 4 / 30
Entscheidung Scrum gut geeignet, weil: Anforderungen des Projekts sind vage Häufige Änderungen der Anforderungen erwartbar (schnelllebige Branche, technischer Wandel) Verkürzung der Zeit bis zur initialen Markteinführung Priorisierung von Features möglich Häufige Rechnungsstellung und frühzeitige Bezahlung ohne Risiko für Kunden 5 / 30
Zu beachten bei Scrum Kunde muss bereit sein Projekt fortlaufend zu begleiten und Aufwand hineinzustecken (Anforderungsentwicklung, Akzeptanztests) gewisse Erfahrung im Entwicklerteam nötig kein Festpreis möglich Fortschritt des Gesamtprojekts schwer messbar 6 / 30
Vergleich Lean und Agile Development Lean: Reduce waste Agile: adopt quickly to newly created situations 7 / 30
Rollen im Scrum-Prozess Interne Rollen: Product Owner Scrum Master Entwicklungsteam Weitere mögliche externe Rollen: Manager und Vorgesetzte des Entwicklungsteams Weitere Stakeholder an der Software, z.b. Kunden, User (normalerweise nur indirekter Einfluss durch Product Owner) 8 / 30
Kriterien für Priorisierung von PBIs Bedeutung für viele Nutzer Bedeutung für wichtige Nutzer Zusammenhang mit anderen Backlog Items Managementwünsche externe Anforderungen, z.b. Compliance 9 / 30
Detailgrad von PBIs Wieso unterschiedlicher Detailgrad je nach Priorität? niedrig priorisierte Einträge werden möglicherweise gar nicht umgesetzt, Vermeidung von vergeudetem Aufwand kein zu frühes Festlegen hoher Aufwand falls sich Anforderungen bis zur Umsetzung ändern 10 / 30
Daily Standup Meeting Sinn des Treffens: Überblick im Team behalten frühzeitiges Erkennen von Gefahren wie Verzögerungen oder Schwierigkeiten Wie sieht so ein Treffen aus? Team-Mitglieder beantworten reihum kurz folgende Fragen: Was habe ich erreicht? Was habe ich vor? Was hält mich auf? 11 / 30
Daily Standup Meeting Wieso im Stehen? Das Daily Standup Meeting soll nur dem Überblick dienen und wenige Minuten dauern (z.b. keine Suche nach Lösungen). Jeder Teilnehmer soll sich kurz fassen. Ein Meeting im Stehen unterstreicht dies. 12 / 30
Potentially Shippable Product Increment (PSPI) Wann ist ein PSPI fertig? Je nachdem was vorher festgelegt wurde, z.b. Akzeptanzkriterien (Akzeptanztests) Anderer Entwickler hat Design geprüft Vollständig implementiert Doku ergänzt und angepasst Tests erstellt und fehlerfrei 13 / 30
Sprint-Ende Wann ist der Unterschied zwischen Sprint Review Meeting und Sprint Retrospective Meeting? Review: inkl. Stakeholders; Vorstellung der Ergebnisse des Sprints und Diskussion mit Stakeholdern; Evaluierung PSPI Retrospective: Scrum Team intern; Verbesserungen für Prozess und Zusammenarbeit; Diskussions- und Erfahrungsaustausch; Planung von Aktivitäten zur Verbesserung 14 / 30