700 likes | 1.58k Views
Agile Software Entwicklung mit Scrum. Wei Fang 07.05.2008 Hauptseminar SS08. Agenda. Was ist Scrum? Wie funktioniert Scrum? Ablauf von Scrum Die Rollen Anforderungen- das Product Backlog Sprints Anwendungsbereich von Scrum Warum Scrum?. Was ist Scrum?.
E N D
Agile Software Entwicklung mit Scrum Wei Fang 07.05.2008 Hauptseminar SS08
Agenda • Was ist Scrum? • Wie funktioniert Scrum? • Ablauf von Scrum • Die Rollen • Anforderungen- das Product Backlog • Sprints • Anwendungsbereich von Scrum • Warum Scrum? Wei Fang Agile Software Entwicklung mit Scrum
Was ist Scrum? Definition from rugby football: a scrum is a way to restart the game after an interruption, where the forwards of each side come together in a tight formation and struggle to gain possession of the ball when it is tossed in among them. Wei Fang Agile Software Entwicklung mit Scrum
Was ist Scrum?-Scrum im Überblick • Scrum ist ein agiles Managementframework zur Entwicklung von Software, das aus wenigen klaren Regeln besteht. • Scrum Charakteristika • Leichtgewichtiger Management Prozess • Das Kernelement sind kurze Iterationen: Sprints • Regelmässige Produktinkremente • Kleine Teams- Selbst organisieren • Mehr Kommunikation und Kollaboration Wei Fang Agile Software Entwicklung mit Scrum
Agenda • Was ist Scrum? • Wie funktioniert Scrum? • Ablauf von Scrum • Die Rollen • Anforderungen- das Product Backlog • Sprints • Anwendungsbereich von Scrum • Warum Scrum? Wei Fang Agile Software Entwicklung mit Scrum
Scrum- der Rahmen Wei Fang Agile Software Entwicklung mit Scrum
Ablauf von Scrum Scrum Planing Meeting Scrum Review Meeting Scrum Retrospektive Meeting Reference: „Scrum-Agiles Projektmanagement erfolgreich einsetzen“, Roman Pichler, 2008 Wei Fang Agile Software Entwicklung mit Scrum
Scrum- der Rahmen Wei Fang Agile Software Entwicklung mit Scrum
Der Product Owner • Anforderungsbeschreibung und –management • das Erfassen der Kundenbedürfnisse und die Beschreibung der Anforderungen • Priorisiert Anforderungen • Eine enge und regelmäßige Abstimmung mit den Kunden • Releasemanagement und Return on Investment • Entscheidet über Auslieferungszeitpunkt, Funktionalität und Kosten der Softwareversion • Enge Zusammenarbeit mit dem Team • Erfassung des Projektforschritts Wei Fang Agile Software Entwicklung mit Scrum
Das Team • Klein • typischerweise 5-9 Personen • Interdisziplinär besetzt • Funktionsübergreifend: QS, Programmierer, Architecteke usw. • Bevollmächtigt • Selbstorganisiert • Vollzeitteammitglieder • Arbeitsplätze in unmittelbarer Nähe Wei Fang Agile Software Entwicklung mit Scrum
Der ScrumMaster • Verantwortlich für die Einhaltung von Scrum-Werten und -Techniken • Beseitigt mögliche Hindernisse • Stellt sicher, dass das Team vollständig funktional und produktiv ist • Unterstützt die enge Zusammenarbeit zwischen allen Rollen und Funktionen • Aber keine Autorität Wei Fang Agile Software Entwicklung mit Scrum
Scrum- der Rahmen Wei Fang Agile Software Entwicklung mit Scrum
Anforderungen • Definitions- und Umsetzungsphase in der traditionellen Softwareentwicklung • Anforderungsbeschreibung in Scrum Design Kodierung Test Design Kodierung Test Wei Fang Agile Software Entwicklung mit Scrum
Das Product Backlog • Zum Erfassen und Managen von Anforderungen in Scrum • Von der Product Owner erstellt und verfeinert wird • Das Product Backlog ist ein lebendes Dokument • Die Einträge sind priorisiert • Die Einträge sind abgeschätzt Reference: „Scrum-Agiles Projektmanagement erfolgreich einsetzen“, Roman Pichler, 2008 Wei Fang Agile Software Entwicklung mit Scrum
Das Product Backlog -Beispiel Priorisiert Estimation Beschreibung der Anforderungen Reference: www.mountaingoatsoftware.com/product_backlog Wei Fang Agile Software Entwicklung mit Scrum
Scrum- der Rahmen Wei Fang Agile Software Entwicklung mit Scrum
Sprints • Der Sprint-Ablauf • Dauer: maximal 30 Tage • Team fokussiert auf Sprint Goal • Völlig autonom bzgl. Vorgehen • Das Produkt wird während des Sprints entworfen, kodiert und getestet • Produziert neue Produktversion Reference: „Scrum-Agiles Projektmanagement erfolgreich einsetzen“, Roman Pichler, 2008 Wei Fang Agile Software Entwicklung mit Scrum
Die Sprint-Planungssitzung Wei Fang Agile Software Entwicklung mit Scrum
Das Sprint Backlog • Definiert Arbeiten/Tasks, die das Team in einem Sprint erledigt • Die geschätzte restliche Arbeit wird täglich aktualisiert • Jedes Team-Mitglied kann Tasks hinzufügen, löschen oder ändern, Nur Team kann/darf Sprint Backlog verändern • Neue, für den Sprint benötigte Arbeit taucht auf • Taskgröße zwischen 4 - 16 Stunden Aufwand Wei Fang Agile Software Entwicklung mit Scrum
Das Sprint Backlog - Beispiel Reference: www.mountaingoatsoftware.com/sprint backlog Wei Fang Agile Software Entwicklung mit Scrum
Die Daily-Scrum-Besprechung • Ziel: • Unterstützung der Selbstorganisation des Teams • Identifizierung der Hindernisse • Parameter: • Täglich • Maximal 15 Minuten lang • Stand-up • Teilnahmer: • Alle sind eingeladen, aber nur Team-Mitglieder, der ScrumMaster, und der Produkt-Owner dürfen reden • Informationsaustausch des Teams untereinander Wei Fang Agile Software Entwicklung mit Scrum
Die Daily-Scrum-Besprechung • Jedes Teammitglied beantwortet drei Fragen: Wei Fang Agile Software Entwicklung mit Scrum
Die Daily-Scrum-Besprechung • „Schweine“ • Product Owner, Team und ScrumMaster • „Hühner“ • Alle anderen Interessenvertreter Wei Fang Agile Software Entwicklung mit Scrum @2006 implementingscrum.com
Das Sprint-Reviewmeeting • Am Ende des Sprint findet statt • Ziel • Gutachtung der entstandenen Arbeitsergebnisse • Projektforschritt transparent machen • Das Team stellt neue Produktversion vor und berichtet über Verlauf des Sprints • Typischerweise in Form einer Demo der neuen Features oder der zugrunde liegenden Architektur • Informell • Ein bis zwei Stunden • Keine Folien • Teilnahmer • Product Owner, Team und ScrumMaster nehmen teil • Laden andere Interessenvertreter • Rückmeldung über die entstandene Software von Kunden und andere Wei Fang Agile Software Entwicklung mit Scrum
Die Sprint-Retrospektive • Unmittelbar im Anschluss an das Sprint-Review statt und schließt den Sprint ab • Zwischen 1,5 – 2,5 Stunden • Teilnahmer • Product Owner, Team und ScrumMaster • Nach Bedarf Endkunden oder anderen Personen • Offene und ehrliche Meinungen über die Zusammenarbeit im Projekt • Unterstützung eines kontinuierlichen Verbesserungsprozess • Führung zur Steigerung der Produktivität, der Leistungsfähigkeit des Teams und der Softwarequalität Wei Fang Agile Software Entwicklung mit Scrum
Der Sprint-Burndown-Bericht • Eine tägliche aktualisierte graphische Darstellungdes noch zu erbringenden Restaufwands für den aktuellen Sprint Reference: agiletoday.com/scrumoverview.html Wei Fang Agile Software Entwicklung mit Scrum
Agenda • Was ist Scrum? • Wie funktioniert Scrum? • Ablauf von Scrum • Die Rollen • Anforderungen- das Product Backlog • Sprints • Anwendungsbereich von Scrum • Warum Scrum? Wei Fang Agile Software Entwicklung mit Scrum
Anwendungsbereich von Scrum • Einsatz in neuem oder bestehenden Projekt • Ein grosses oder mehrere voneinander abhängige Projekte • Scrum of Scrums • Scrum und XP Wei Fang Agile Software Entwicklung mit Scrum
Skalierbarkeit • Typische Teams bestehen aus 7 ± 2 Personen • Teams von Teams ermöglichen Skalierbarkeit • Faktoren des Skalierens • Teamgröße • Teamverteilung • Projektdauer • Scrum ist mehrmals für 500-Personenprojekte verwendet worden Wei Fang Agile Software Entwicklung mit Scrum
Scrum of Scrum Wei Fang Agile Software Entwicklung mit Scrum
Scrum und XP Reference: http://www.ifi.unizh.ch/groups/req/courses/seminar_ws03/07_Schweit zer_Scrum_Folien.pdf Wei Fang Agile Software Entwicklung mit Scrum
Agenda • Was ist Scrum? • Wie funktioniert Scrum? • Ablauf von Scrum • Die Rollen • Anforderungen- das Product Backlog • Sprints • Anwendungsbereich von Scrum • Warum Scrum? Wei Fang Agile Software Entwicklung mit Scrum
Warum Scrum? • Probleme frühzeitig erkennen, Handlungsspielraum sichern Reference: „Scrum-Agiles Projektmanagement erfolgreich einsetzen“, Roman Pichler, 2008 Wei Fang Agile Software Entwicklung mit Scrum Teufelskreislauf Scrum-Kreislauf
Warum Scrum? • Positive Veränderungen • Mitarbeiterzufriedenheit • Kundenzufriedenheit • Das liebe Geld • Erzielen des wirschaftlichen Nutzen • Time to markt • Qualität • Produktivität Wei Fang Agile Software Entwicklung mit Scrum
Fazit • Scrum als leichtgewichtiger Management-prozess • Einfachheit, kurze Iterationen • Klare Regeln • Steht und fällt mit Verantwortungs-bewusstsein der Personen • Skalierbarkeit • Mehr Kommunikation und Kollabration Wei Fang Agile Software Entwicklung mit Scrum
Vielen Dank für Ihre Aufmerksamkeit! Wei Fang Agile Software Entwicklung mit Scrum
Übung mit Scrum Entwicklung des elektronischen Kalender Wei Fang 07.05.2008 Hauptseminar SS08
Übung – der elektronische Kalender • Projekt • Ein elektronischen Kalender wird entwickelt. Das Scum wird für diesen Projekt eingesetzt. • Aufgabe1 • Erstellen Sie ein Sprint Backlog • Aufgabe2 • Halten Sie eine Daily Scrum Meeting ab • Aufgabe3 • Erstellen Sie ein Burndown Diagramm Wei Fang Agile Software Entwicklung mit Scrum
Übung – der elektronische Kalender • Schritt1: • Teilen Sie als Zwei Gruppen • Rollenverteilung • Product Owner • Teammitmitglieder • ScrumMaster Wei Fang Agile Software Entwicklung mit Scrum
Übung – der elektronische Kalender • Schritt2: • Das Product Backlog ist schon von der Product Owner erstellt. • Der Product Owner erklärt ihrer Teammitglieder das Product Backlog. Wei Fang Agile Software Entwicklung mit Scrum
Übung – der elektronische Kalender • Schritt3: • Aufgabe1: Erstellen Sie das Sprint Backlog • 1. Gruppe: Sprint2 • 2. Gruppe: Sprint3 • Anmerkung: Die Eigenschaft des Sprint Backlog: • Jedes Team-Mitglied kann Tasks hinzufügen, löschen oder ändern, Nur Team kann/darf Sprint Backlog verändern • Neue, für den Sprint benötigte Arbeit taucht auf • Taskgröße zwischen 4 - 16 Stunden Aufwand Wei Fang Agile Software Entwicklung mit Scrum
Übung – der elektronische Kalender • Schritt4: • Aufgabe2: Halten Sie die Daily Scrum Meeting ab • 1. Gruppe: Sprint2 • 2. Gruppe: Sprint3 • Anmerkung: drei Fragen: • Bist du gesetern mit dem fertig geworden, was du dir vorgenommen hast? • Welche Aufgaben wirst du bis zum nächsten Meeting bearbeiten? • Gibt es ein Problem, das dich blockiert? Wei Fang Agile Software Entwicklung mit Scrum
Übung – der elektronische Kalender • Schritt5: • Aufgabe3: Erstellen Sie ein Burndown Diagramm • 1. Gruppe: Sprint2 • 2. Gruppe: Sprint3 • Anmerkung: Eine tägliche aktualisierte graphische Darstellungdes noch zu erbringenden Restaufwands für den aktuellen Sprint • Beispiel: Burndown Diagramm des Product Backlog Wei Fang Agile Software Entwicklung mit Scrum
Vielen Dank für Ihre Teilnahme! Wei Fang Agile Software Entwicklung mit Scrum