47
04.05.2016, Sebastian Burg Eine praxisnahe Einführung Agile Softwareentwicklung mit Scrum Eingebettete Systeme

Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

04.05.2016, Sebastian Burg

Eine praxisnahe Einführung

Agile Softwareentwicklung mit Scrum

Eingebettete Systeme

Page 2: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

2 | Sebastian Burg © 2016 Universität Tübingen

Gliederung

• Einführung

• Agile Entwicklung

• Scrum

- Stories

- Komponenten

- Rollen

- Zyklen

Page 3: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

3 | Sebastian Burg © 2016 Universität Tübingen

EINFÜHRUNG

Warum setzen wir Methoden der agilen Softwareentwicklung ein?

Page 4: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

4 | Sebastian Burg © 2016 Universität Tübingen

Klassische Vorgehensmodelle zur

Softwareentwicklung

• Schnell erste Ergebnisse

• Kaum Weiterbildung des

Entwicklers

• Kein Wissenstransfer zwischen

den einzelnen (unabhängig

arbeitenden) Entwicklern

• Keine Qualitätskontrolle

• „Bin ich auf dem richtigen Weg?“

• Kommen die richtigen

Technologien zum Einsatz?

• Lange Zeit bis zur Fertigstellung

des Produkts

Chaos,

One-Man-Show

Page 5: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

5 | Sebastian Burg © 2016 Universität Tübingen

Klassische Vorgehensmodelle zur

Softwareentwicklung

Plan-getriebene

Entwicklung

V-Modell XT

Wasserfall-Modell

• Definierte Schnittstellen zwischen

den Entwicklern

• Qualitätskontrolle gut

durchführbar

• Vollständiger Prozess selten von

vorn bis hinten planbar

• „Was schief gehen kann, wird

schief gehen“, Murphys Gesetz

• Reaktion auf ungeplante

Ereignisse träge

• Hoher Verwaltungsaufwand

Page 6: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

6 | Sebastian Burg © 2016 Universität Tübingen

Klassische Vorgehensmodelle zur

Softwareentwicklung

Chaos,

One-Man-Show

Plan-getriebene

Entwicklung

Sowohl One-Man-Show als auch Plan-getriebene Entwicklung

sind für die (relativ) kleinen Programmierprojekte ungünstig.

Keine Qualitätskontrolle, wenig Lerneffekt

vs.

Großer Aufwand, träge Reaktionsfähigkeit, geringe Motivation

Page 7: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

7 | Sebastian Burg © 2016 Universität Tübingen

Klassische Vorgehensmodelle zur

Softwareentwicklung

Chaos,

One-Man-Show

Plan-getriebene

Entwicklung

Agile Softwareentwickung

Page 8: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

8 | Sebastian Burg © 2016 Universität Tübingen

AGILE ENTWICKLUNG

Page 9: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

9 | Sebastian Burg © 2016 Universität Tübingen

Was bedeutet eigentlich agil?

• Agil sein bedeutet, dass jemand körperlich oder geistig wendig

und/oder flink ist

• Bezug auf Softwareentwicklung:

- Angepasst (wendig) vorgehen: Flexibel Mittel wählen, mit

denen Ziel erreicht werden kann

- Schnell (flink) vorzeigbare Ergebnisse erzielen: Oft und schnell

Laufende Software ausliefern

Page 10: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

10 | Sebastian Burg © 2016 Universität Tübingen

Das agile Manifest

• Unterzeichnet 2001 von vielen Vertretern aus der Software-

Branche:

- Ken Schwaber

- Jeff Sutherland

- Mike Beedle

- u.v.a.

• Unter anderem von den Erfindern von Scrum, Crystal, Feature

Driven Development & eXtreme Programming

Page 11: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

11 | Sebastian Burg © 2016 Universität Tübingen

Das agile Manifest: Einleitung

• 4 Säulen, die durch folgenden Satz eingeleitet werden:

Wir entdecken bessere Wege, Software zu

entwickeln, indem wir Software entwickeln und

anderen dabei helfen.

Page 12: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

12 | Sebastian Burg © 2016 Universität Tübingen

Das agile Manifest: Die 4 Säulen

Durch diese Arbeit bewerten wir

Individuen und Interaktionen höher als Prozesse

und Werkzeuge,

Laufende Software höher als ausgedehnte

Dokumentation,

Zusammenarbeit mit dem Kunden höher als

Vertragsverhandlungen,

Reaktion auf Veränderung höher als Planverfolgung.

Page 13: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

13 | Sebastian Burg © 2016 Universität Tübingen

Agile Werte

• Rückkopplung

- Kommunikation zwischen Teammitgliedern

- Feedback vom Kunden durch frühe Softwareauslieferung

• Mut

- Offenheit und Ehrlichkeit (besonders bei der Kommunikation

von negativen Dingen)

• Respekt

- Nur wer sich respektiert fühlt kann offen sprechen

Page 14: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

14 | Sebastian Burg © 2016 Universität Tübingen

Ziele agiler Entwicklung

Sicherheitsanforderung -

Spezifikation

System-Architektur

Systementwurf

Modulentwurf

Abnahme und Nutzung

Systemtests

Integrationstest der Module

Modultest (Unit-Test)

Verifikation,

Test

&

Validierung

Programmierung fertig:

„Point of Pain“

Programmierung

AU 250, Entwicklungsstandard für IT-Systeme des Bundes, Vorgehensmodell

Weiterbildung der Entwickler

(vgl. 1-Personen-Projekt)

verhindern

schnell lauffähiges

System erstellen

Page 15: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

15 | Sebastian Burg © 2016 Universität Tübingen

Agile Methoden

• Unter einer agilen Methode verstehet man eine konkrete benannte

Zusammenstellung von agilen Praktiken

- Crystal

- FDD

- eXtreme Programming

- Scrum

Page 16: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

16 | Sebastian Burg © 2016 Universität Tübingen

SCRUM

Scrum als Methodik zur Umsetzung der agilen Softwareentwicklung

Page 17: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

17 | Sebastian Burg © 2016 Universität Tübingen

Scrum: Gedränge

• Scrum: Spielkonstellation aus dem Rugby-Sport

Page 18: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

18 | Sebastian Burg © 2016 Universität Tübingen

Scrum

• Keine Entwicklungsmethode im eigentlichen Sinne, sondern

Managementrahmen für beliebige Projekte

• Einfach zu erlernen

• Prozessablauf grob festgelegt, aber bietet genügend Spielraum

zur Reaktion auf ungeplante Veränderungen

• Scrum setzt sich zusammen aus:

- Rollen

- Komponenten

- Meetings und Zyklen

• Anforderungen an das Produkt werden in Form von Stories

festgehalten Beedle, M; Schwaber, K.: Agile Software Development with Scrum. Prentice Hall, 2001

Pichler, R.: Agiles Projektmanagement erfolgreich einsetzen. Heidelberg, dpunkt.verlag, 2008

http://www.scrumalliance.com

Page 19: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

19 | Sebastian Burg © 2016 Universität Tübingen

STORIES, AUFWANDSSCHÄTZUNG,

PRODUKTIVITÄT

Page 20: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

20 | Sebastian Burg © 2016 Universität Tübingen

Was sind Stories (kurzer Überblick)?

• Story: Anforderung

- Aspekt, den eine Software erfüllen soll

- Textuell oder formal aufgeschrieben

- Story soll prüfbar sein (System soll schnell sein: nicht prüfbar;

System soll innerhalb 1 sec antworten: prüfbar)

• Aus agiler Sicht: Schnell Software erstellen

- Das impliziert: so wenig wie möglich aufschreiben

- Gerade so genau, dass Aufwand geschätzt werden kann

• Erspart das Lastenheft!

Page 21: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

21 | Sebastian Burg © 2016 Universität Tübingen

Welches Medium? Welcher Inhalt?

• Gerne mittels Karteikarten (handschriftlich) oder in System

• Aufbau

- Nummer, Datum, Beschreibung

- Autor/Ansprechpartner, Schätzung, Priorität

- Status:

RTD-F (Definition of Done)

Running: Zugehörige Software(-Komponente) ist lauffähig

Tested: Zugehörige Komponente hat Komponenten-Tests bestanden

Deployed: Komponente hat Integrationstest bestanden und wurde

ausgeliefert

Solange RTD nicht erfüllt ist, ist die Story in Bearbeitung

Page 22: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

22 | Sebastian Burg © 2016 Universität Tübingen

Aufwandsschätzung

• Das Schätzen von Aufwänden ist keine exakte Wissenschaft

• Nur relativ zu Rahmenbedingungen

• Möglichst festes Team

• Vergleich zu bereits umgesetzten Anforderungen aus anderen

Projekten (“Wetter von gestern”)

• Die Aufwände zur Umsetzung werden vom Entwicklerteam

erbracht

• Also schätzt dieses Team auch die Aufwände (Verantwortung)

• Unterschiedliche Entwickler sind unterschiedlich schnell:

Teamaufwand wird geschätzt

• Alle Teammitglieder sind eingebunden (demokratisches

Schätzen)

Page 23: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

23 | Sebastian Burg © 2016 Universität Tübingen

Schätzmaße

• Möglichst abstraktes Schätzmaß

- Besser als konkretes Maß, da allgemeingültiger für gesamtes

Team

- Man weiß ja nicht wer was machen wird

• Umrechnungsfaktor von abstrakten Schätzmaß zu realem

Aufwand bilden (Erfahrungswert)

• Wieviel (abstrakte) Einheiten werden pro Iteration abgearbeitet

(Erfahrungswert)

Page 24: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

24 | Sebastian Burg © 2016 Universität Tübingen

Sching-Schang-Schong-Schätzen

• Sching-Schang-Schong (Anlehnung an Schere, Stein, Papier)

• Per Handzeichen werden 1, 2, 3, 4, oder 5 relative

Aufwandspunkte vergeben

• Bei großen Abweichungen: Diskussion

- Technische Probleme?

- Story zu groß? Story teilen!

Page 25: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

25 | Sebastian Burg © 2016 Universität Tübingen

Feature-Burndown-Graph

0

50

100

150

200

250

300

33 34 35 36 37 38 39 40 41 42 43 44 45 46

Off

en

e F

ea

ture

s

KW

Erledigt

Ideal

Page 26: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

26 | Sebastian Burg © 2016 Universität Tübingen

Feature-Burndown-Graph

0

50

100

150

200

250

300

33 34 35 36 37 38 39 40 41 42 43 44 45 46

Off

en

e F

ea

ture

s

KW

Erledigt

Ideal

Page 27: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

27 | Sebastian Burg © 2016 Universität Tübingen

Scrum

• Keine Entwicklungsmethode im eigentlichen Sinne, sondern

Managementrahmen für beliebige Projekte

• Einfach zu erlernen

• Prozessablauf grob festgelegt, aber bietet genügend Spielraum

zur Reaktion auf ungeplante Veränderungen

• Scrum setzt sich zusammen aus:

- Rollen

- Komponenten

- Meetings und Zyklen

• Anforderungen an das Produkt werden in Form von Stories

festgehalten Beedle, M; Schwaber, K.: Agile Software Development with Scrum. Prentice Hall, 2001

Pichler, R.: Agiles Projektmanagement erfolgreich einsetzen. Heidelberg, dpunkt.verlag, 2008

http://www.scrumalliance.com

Page 28: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

28 | Sebastian Burg © 2016 Universität Tübingen

ROLLEN

Beteiligte Personen am Scrum-Prozess

Page 29: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

29 | Sebastian Burg © 2016 Universität Tübingen

Beteiligte Rollen

• Product Owner

- Vertritt den Kunden und Anwender

- Anforderungen in Form von Stories: Zuständig für

Formulierung

Auswahl

Priorisierung

• In den Programmierprojekten sind die Betreuer die Product

Owner!

Product-

Owner

Page 30: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

30 | Sebastian Burg © 2016 Universität Tübingen

Beteiligte Rollen

• Team

- Softwareentwickler

- Eigenverantwortlich für die Umsetzung der Anforderungen

• Handelt mit Product Owner aus, welche Anforderungen in welcher

Zeit umgesetzt werden

• In den Programmierprojekten bilden die Studierenden das

Team!

Team

Page 31: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

31 | Sebastian Burg © 2016 Universität Tübingen

Beteiligte Rollen

• Scrum-Master

- Unterstützt Product Owner und Team bei Durchführung des

Projekts

- Achtet auf Einhaltung der Prozesse

- Hilft bei konkreten Problemen

- Hat eine Vermittlerrolle zwischen Team und Product Owner

• In den Programmierprojekten sind die Scrum-Master 1 oder 2

Personen aus dem Team (wechselt nach jedem Sprint)!

Scrum-

Master

Page 32: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

32 | Sebastian Burg © 2016 Universität Tübingen

Beteiligte Rollen

Scrum-

Master

TeamProduct-

Owner

Betreuer

Definiert gemeinsam mit Team

die zu erledigenden Aufgaben im Sprint!

1-2 Studierende aus Team (wechselnd)

Überwacht die Scrum-Prozesse und

vermitteln zwischen Team und Product Owner.

Stellt am Ende eines Sprints die Ergebnisse vor.

Studierende

Setzen die Aufgaben / Stories um.

Page 33: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

33 | Sebastian Burg © 2016 Universität Tübingen

KOMPONENTEN

Page 34: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

34 | Sebastian Burg © 2016 Universität Tübingen

Projektkomponente: Product Backlog

• Enthält Stories

• Stories können jederzeit von

allen Projektbeteiligten erstellt

werden

• Sie werden im Product

Backlog gesammelt

- Geschätzte und

ungeschätzte Stories

• Product Owner entscheidet

wie er mit Product Backlog

umgeht

Product-Backlog:

Bekannte

Anforderungen

Product-

Owner

Scrum-

Master

Team

Page 35: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

35 | Sebastian Burg © 2016 Universität Tübingen

Projektkomponente: Sprint Backlog

• Enthält abzuarbeitende

Stories für nächsten Zyklus

• Entwickler-Team ist an der

Entscheidung beteiligt

(Menge)

• Ausgewählte Stories werden

im Sprint-Backlog abgelegtProduct-Backlog:

Bekannte

Stories

Sprint-Backlog:

Stories

für nächsten Zyklus

Product-

Owner

Scrum-

Master

Team

Page 36: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

36 | Sebastian Burg © 2016 Universität Tübingen

Taskboard

Sprint-

Backlog

In

Bearbeitung

erledigt

Product-Backlog

Page 37: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

37 | Sebastian Burg © 2016 Universität Tübingen

MEETINGS UND ZYKLEN

Page 38: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

38 | Sebastian Burg © 2016 Universität Tübingen

Zyklus: Sprint

• Feste Länge

• Team arbeitet Sprint-Backlog

ab

• Ohne Einflüsse von außen

• Es werden keine Stories

durch Product Owner oder

Scrum Master ergänzt

• Rückfragen sind erlaubt

• Team arbeitet

eigenverantwortlich

- Keine Leitung durch

Scrum-Master oder

Product Owner

Team

Sprint-Backlog:

Stories für den

nächsten Sprint

Sprints:

Immer gleich

lang, z.B.

14 Tage

Page 39: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

39 | Sebastian Burg © 2016 Universität Tübingen

Meeting: Sprint-Planung (Beginn eines Sprints)

• Ziel: Auswahl der Stories für

den nächsten Sprint

• Wird von Scrum Master

organisiert

• Auswahl wird von Product

Owner getroffen

• Team und Product-Owner

treffen einer Vereinbarung

über Menge an Stories

(Commitment)

Product-Backlog:

Bekannte

Anforderungen

Sprint-Backlog:

Anforderungen

für den

nächsten Sprint

Sprint-Planung

Product-

Owner

Scrum-

Master

Team

Page 40: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

40 | Sebastian Burg © 2016 Universität Tübingen

Meeting: Sprint Review (Ende eines Sprints)

• Wird von Scrum Master

organisiert

• Team präsentiert dem

Product-Owner die neuen

Features in Form von

lauffähiger Software (kein

PowerPoint etc.)

• Nicht erledigte Stories

wandern zurück ins Product-

Backlog

Sprints:

Immer gleich

lang, z.B.

14 Tage

Review

Scrum-

MasterProduct-

Owner

Team

Page 41: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

41 | Sebastian Burg © 2016 Universität Tübingen

Meeting: Daily Scrum (während Sprint)

• Findet (täglich) zur gleichen

Zeit am gleichen Ort statt

• Scrum-Master und Team

• Wird von Scrum Master

organisiert

• Dauert max. 15 Minuten

- Scrum Master achtet auf

Einhaltung der Zeit

- Was wird besprochen? Was habe ich seit dem letzten

Daily Scrum getan?

Was werde ich bis zum

nächsten Daily Scrum tun?

Was behindert mich?

Scrum-

MasterTeam

(täglich)

Page 42: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

42 | Sebastian Burg © 2016 Universität Tübingen

Meeting: Retrospektive (Ende eines Sprints)

• Wird von neutraler Person

moderiert (z.B. Betreuer eines

anderen Projekts oder anderer

Kollege)

• Wird von Scrum Master

organisiert

• Themen

- Was haben wir gelernt?

- Was lässt sich verbessern?

• Findet nach jedem Review

statt

Sprints:

Immer gleich

lang, z.B.

14 Tage

Scrum-

MasterProduct-

Owner

Team

Retrospektive

Moderator

Page 43: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

43 | Sebastian Burg © 2016 Universität Tübingen

Meeting: Retrospektive (Ende eines Sprints)

• Thema muss “Verbesserung des Prozesses” sein (nicht nur

Technik)

• Rückkopplung ist der zentrale Wert für kontinuierliche

Verbesserung

- Treffen aller Projektbeteiligten zum Zweck des Lernens in

regelmäßigen Abständen

- Reflektion des vergangenen Zeitabschnitts Was hat gut funktioniert? Bzw. was hast sich verbessert?

Was hat schlecht funktioniert? Warum? Bzw. was hat sich nicht

verbessert?

Welche Blockaden sind aufgetreten?

• Muss durch Scrum-Master dokumentiert werden!

Page 44: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

44 | Sebastian Burg © 2016 Universität Tübingen

Scrum: Ablauf

Product Backlog:

Bekannte Stories

Sprint Backlog:

Stories für den

nächsten Sprint

(täglich)

Sprints:

Immer gleich

lang, z.B.

14 Tage

Sprint Planung

Daily Scrum:

Daily Scrum dauert 15 min.

Jedes Teammitglied

beantwortet kurz:

1. Was habe ich seit dem

letzten Daily Scrum getan?

2. Was hat mich dabei

behindert?

3. Was werde ich bis zum

nächsten Daily Scrum tun?

Reviews

Sprint Review:

Neue Features werden

dem Product-Owner

präsentiert

Retrospektive

Sprint Retrospektive:

Was haben wir gelernt?

Was können wir verbessern?

Scrum-

Master

Product-

Owner

SW

Team

Moderator

Page 45: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

45 | Sebastian Burg © 2016 Universität Tübingen

Gemeinsamer Besitz des Quelltextes

• Jedes Teammitglied darf in allen Teilen des Quelltextes

Änderungen vornehmen

• Kein „Eigentümer“

• Konsequenzen

- Jeder, der Fehler und Missstände im Code Entdeckt, behebt

diese

- Quelltextkonventionen: Anzahl Leerzeichen bei Einrückungen,

Klammersetzung, Namensgebung etc.

- Software muss automatisch geprüft werden

Page 46: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

46 | Sebastian Burg © 2016 Universität Tübingen

Testprotokolle

• Stories sollen nach RTD-Schema bearbeitet werden

• Dementsprechend sollte pro Story ein kleines Testprotokoll

abgeliefert werden nach dem Schema:

- Welche Funktionalität wurde getestet?

- Wie wurde getestet?

- Was war das Ergebnis?

• Beispiel:

- Funktionalität: Webservice zum Registrieren eines Benutzers

- Test: Testrequests (Req.0, Req.1,…)

- Ergebnis: alle erfolgreich

Page 47: Agile Softwareentwicklung mit Scrumps.informatik.uni-tuebingen.de/teaching/ss16/se/6_SCRUM.pdf · 2016-05-04 · •Scrum-Master-Unterstützt Product Owner und Team bei Durchführung

47 | Sebastian Burg © 2016 Universität Tübingen

Danke.

Sebastian Burg

Eberhard Karls Universität TübingenLehrstuhl für Eingebettete Systeme

E-Mail: [email protected]