Changes for page Scrum

Last modified by pmeyer on 2025/09/12 04:57

edited by Pascal Meyer
on 2025/07/30 17:42
Change comment: Uploaded new attachment "Unbenannt.JPG", version {1}
edited by Pascal Meyer
on 2025/07/29 03:51
Change comment: Uploaded new attachment "burnd.JPG", version {1}

Summary

Details

insert_drive_file Page properties
Content
... ... @@ -1,5 +3,3 @@
1 -{{toc/}}
2 -
3 3  = Scrum - Ein kurzer Überblick =
4 4  
5 5  **Was ist Scrum und warum brauchen wir das im SWP?**
... ... @@ -60,7 +60,7 @@
60 60  *** Das Team präsentiert, was es während eines Sprints erreicht hat
61 61  *** Typischerweise in Form einer Demo mit neuen Features oder der zugrunde liegenden Architektur
62 62  *** Das ganze Team nimmt teil!
63 -** **Sprint Retrospektive**
61 +** **Sprint Retrospektive​​​​​​​**
64 64  *** Regelmäßig prüfen, was gut und was nicht so gut funktioniert
65 65  *** ca. 15-30 min lang
66 66  *** Nach jedem Sprint
... ... @@ -89,17 +89,31 @@
89 89  *** Definieren Sie für die Tickets eine Definition of Done ([[https:~~/~~/www.scrum-events.de/was-ist-die-definition-of-done-dod.html>>url:https://www.scrum-events.de/was-ist-die-definition-of-done-dod.html]])
90 90  ** **Produktinkrement**
91 91  
92 -**[[image:Scrum-Prozess.JPG]]**
93 -
94 94  = Scrum - im Detail =
95 95  
96 96  == Scrum-Prozess ==
97 97  
98 -Nachdem die Produktvision definiert wurde, wird das Product Backlog erstellt und vom Product Owner //(hier: gesamtes Team im Softwareprojekt)// verwaltet. Aus dem Sprint Planning resultiert das Sprint Backlog, welches im Sprint durch das Entwicklungsteam //(hier: Scrum Master gehört zum Entwicklungsteam und programmiert mit)// abgearbeitet wird. Der Scrum Master sorgt dafür, dass das Entwicklungsteam ungestört arbeiten kann. Täglich //(hier: wöchentlich)// trifft er sich im Daily Scrum mit dem Team. Nach dem Sprint wird ein Produktinkrement an den Auftraggeber //(hier: an das gesamte Team)// ausgeliefert und in einem Sprint Review näher erläutert. Anschließend wird eine Sprint Retrospektive durchgeführt, in der das Team die Zusammenarbeit reflektieren kann.
94 +Nachdem die Produktvision definiert wurde, wird das Product Backlog erstellt und vom
95 +Product Owner //(hier: gesamtes Team im Softwareprojekt)// verwaltet. Aus dem Sprint
96 +Planning resultiert das Sprint Backlog, welches im Sprint durch das Entwicklungsteam
97 +//(hier: Scrum Master gehört zum Entwicklungsteam und programmiert mit)// abgearbeitet
98 +wird. Der Scrum Master sorgt dafür, dass das Entwicklungsteam ungestört arbeiten
99 +kann. Täglich //(hier: wöchentlich)// trifft er sich im Daily Scrum mit dem Team. Nach
100 +dem Sprint wird ein Produktinkrement an den Auftraggeber //(hier: an das gesamte//
101 +//Team)// ausgeliefert und in einem Sprint Review näher erläutert. Anschließend wird eine
102 +Sprint Retrospektive durchgeführt, in der das Team die Zusammenarbeit reflektieren kann.
99 99  
100 100  == Product Backlog ==
101 101  
102 -Ein Product Backlog ist eine priorisierte Anforderungsliste für das von dem Auftraggeber gewünschte Softwareprodukt. Diese ist nie vollständig und zu jederzeit anpassbar. Der Product Owner //(hier: das gesamte Team)// ergänzt das Backlog stetig und hat in den meisten Fällen bereits User Stories für den nächsten Sprint geplant. Aus diesem Grund sind in dem Backlog nicht alle für das komplette Produkt relevanten Anforderungen zu finden, weil sich von Sprint zu Sprint immer wieder neue Anforderungen ergeben oder alte verworfen werden. Es ist auch möglich, dass sich die Prioritäten ändern. Der Product Owner //(hier: das gesamte Team)// verwaltet das Backlog, allerdings muss es für alle Mitglieder des Scrum Teams ersichtlich sein.
106 +Ein Product Backlog ist eine priorisierte Anforderungsliste für das von dem Auftraggeber
107 +gewünschte Softwareprodukt. Diese ist nie vollständig und zu jederzeit anpassbar. Der
108 +Product Owner //(hier: das gesamte Team)// ergänzt das Backlog stetig und hat in den
109 +meisten Fällen bereits User Stories für den nächsten Sprint geplant. Aus diesem Grund
110 +sind in dem Backlog nicht alle für das komplette Produkt relevanten Anforderungen
111 +zu finden, weil sich von Sprint zu Sprint immer wieder neue Anforderungen ergeben
112 +oder alte verworfen werden. Es ist auch möglich, dass sich die Prioritäten ändern. Der
113 +Product Owner //(hier: das gesamte Team)// verwaltet das Backlog, allerdings muss es für
114 +alle Mitglieder des Scrum Teams ersichtlich sein.
103 103  
104 104  === **Der Nutzen eines gepflegten/priorisierten Product Backlogs** ===
105 105  
... ... @@ -121,7 +121,11 @@
121 121  
122 122  == Sprint Planning ==
123 123  
124 -Nachdem das Product Backlog initial gefüllt und das Sprint-Ziel festgelegt wurde, kann das Planning beginnen. Das Sprint Planning ist wichtig, weil der Product Owner und das Entwicklungsteam //(hier: das gesamte Team)// sich so einig über die zu bearbeitenden User Stories werden können. In diesem Meeting wird gemeinsam mit dem Team, dem Scrum Master und dem Product Owner der Sprint vorbereitet.
136 +Nachdem das Product Backlog initial gefüllt und das Sprint-Ziel festgelegt wurde, kann
137 +das Planning beginnen. Das Sprint Planning ist wichtig, weil der Product Owner und
138 +das Entwicklungsteam //(hier: das gesamte Team)// sich so einig über die zu bearbeitenden
139 +User Stories werden können. In diesem Meeting wird gemeinsam mit dem Team, dem
140 +Scrum Master und dem Product Owner der Sprint vorbereitet.
125 125  
126 126  === **Ablauf eines Plannings (Checkliste)** ===
127 127  
... ... @@ -144,7 +144,15 @@
144 144  
145 145  == Schätzen von Aufwänden ==
146 146  
147 -Es sollte aus mehreren Gründen geschätzt werden. Zum einen bekommen alle Teammitglieder einen Einblick in den Inhalt aller User Stories, bevor angefangen wird, sie umzusetzen. Dies schärft das Verständnis für das Produkt. Zum anderen findet das Schätzen im besten Fall mit dem gesamten Team statt, wodurch dieses Meeting eine teamgeistfördernde Aktivität ist. Ein weiterer Vorteil ist, dass jede Person im Team weiß, worum es in der Story geht, sodass jede Person jede Aufgabe bearbeiten kann. Außerdem können so in Diskussionen Probleme oder zusätzliche Informationen identifiziert werden, wenn eine User Story beispielsweise in kleinere sinnvolle Einheiten aufgeteilt werden kann. Die Einheit, in der zumeist geschätzt wird, nennt sich "Story Points".
163 +Es sollte aus mehreren Gründen geschätzt werden. Zum einen bekommen alle Teammitglieder
164 +einen Einblick in den Inhalt aller User Stories, bevor angefangen wird, sie
165 +umzusetzen. Dies schärft das Verständnis für das Produkt. Zum anderen findet das
166 +Schätzen im besten Fall mit dem gesamten Team statt, wodurch dieses Meeting eine
167 +teamgeistfördernde Aktivität ist. Ein weiterer Vorteil ist, dass jede Person im Team weiß,
168 +worum es in der Story geht, sodass jede Person jede Aufgabe bearbeiten kann. Außerdem
169 +können so in Diskussionen Probleme oder zusätzliche Informationen identifiziert werden,
170 +wenn eine User Story beispielsweise in kleinere sinnvolle Einheiten aufgeteilt werden
171 +kann. Die Einheit, in der zumeist geschätzt wird, nennt sich "Story Points".
148 148  
149 149  === **Ablauf der Aufwandsschätzung (Checkliste)** ===
150 150  
... ... @@ -174,21 +174,38 @@
174 174  
175 175  === **Definition eines Velocity Charts** ===
176 176  
177 -Hat das Team schon mindestens einen Sprint hinter sich, kann der nächste Sprint auf Basis der Velocity aufgebaut werden. Die Velocity steht für die Geschwindigkeit des
178 -Teams. Das bedeutet, dass ermittelt wird, wie viele Story Points das Entwicklungsteam in dem vorherigen Sprint geschafft hat. Aufgrund dieser Information kann der darauf folgende Sprint genauer geplant werden, indem sich das Team nur auf die Anzahl der vorher erledigten Story Points committet. Die Abbildung zeigt ein solches Velocity Chart. Die x-Achse zeigt die bisherige Anzahl an Sprints und die y-Achse die Story Points, die in einem Sprint erledigt wurden. Es ist zu sehen, dass beispielsweise im zweiten Sprint 15 Story Points geschafft wurden, jedoch im dritten Sprint nur fünf. Ab dem dritten Sprint kann eine Verbesserung der Geschwindigkeit des Teams wahrgenommen werden.
201 +Hat das Team schon mindestens einen Sprint hinter sich, kann der nächste Sprint auf
202 +Basis der Velocity aufgebaut werden. Die Velocity steht für die Geschwindigkeit des
203 +Teams. Das bedeutet, dass ermittelt wird, wie viele Story Points das Entwicklungsteam
204 +in dem vorherigen Sprint geschafft hat. Aufgrund dieser Information kann der darauf
205 +folgende Sprint genauer geplant werden, indem sich das Team nur auf die Anzahl der
206 +vorher erledigten Story Points committet. Die Abbildung zeigt ein solches Velocity Chart.
207 +Die x-Achse zeigt die bisherige Anzahl an Sprints und die y-Achse die Story Points, die
208 +in einem Sprint erledigt wurden. Es ist zu sehen, dass beispielsweise im zweiten Sprint
209 +15 Story Points geschafft wurden, jedoch im dritten Sprint nur fünf. Ab dem dritten
210 +Sprint kann eine Verbesserung der Geschwindigkeit des Teams wahrgenommen werden.
179 179  
180 180  [[image:velo.JPG]]
181 181  
182 182  === **Definition eines Burndown Charts** ===
183 183  
184 -Eine Möglichkeit zur Überprüfung des Fortschritts während eines Sprints ist die Erstellung eines Burndown Charts. Es zeigt die bereits erledigten Story Points auf Basis der verbleibenden Zeit an. Somit kann schnell gesehen werden, ob Verzögerungen oder Probleme auftreten und falls dies der Fall ist, kann ein Meeting einberufen werden, damit über die Probleme gesprochen wird. Die Abbildung zeigt ein Burndown Chart. Auf der x-Achse sind die Arbeitstage zu sehen und auf der y-Achse die noch zu erledigenden Story Points für den Sprint. Es ist zu sehen, dass das Team bisher einen guten Fortschritt hat, weil der Graph bisher stetig abfällt.
216 +Eine Möglichkeit zur Überprüfung des Fortschritts während eines Sprints ist die Erstellung
217 +eines Burndown Charts. Es zeigt die bereits erledigten Story Points auf Basis
218 +der verbleibenden Zeit an. Somit kann schnell gesehen werden, ob Verzögerungen oder
219 +Probleme auftreten und falls dies der Fall ist, kann ein Meeting einberufen werden,
220 +damit über die Probleme gesprochen wird. Die Abbildung zeigt ein
221 +Burndown Chart. Auf der x-Achse sind die Arbeitstage zu sehen und auf der y-Achse
222 +die noch zu erledigenden Story Points für den Sprint. Es ist zu sehen, dass das Team
223 +bisher einen guten Fortschritt hat, weil der Graph bisher stetig abfällt.
185 185  
186 -[[image:burnd.JPG]]
225 +​​​​​​​
187 187  
188 188  == Daily Scrum ==
189 189  
190 -Täglich //(hier: wöchentlich)// treffen sich das Entwicklungsteam und der Scrum Master zu einem Meeting. Es ist ein sehr kurzes Treffen, welches immer zur gleichen Zeit am gleichen Ort stehend stattfindet. Zumeist stehend, damit es bewusst kurz gehalten wird. Das Treffen sollte nicht länger als 15 Minuten dauern. Jedes Teammitglied beantwortet
191 -
229 +Täglich //(hier: wöchentlich)// treffen sich das Entwicklungsteam und der Scrum Master
230 +zu einem Meeting. Es ist ein sehr kurzes Treffen, welches immer zur gleichen Zeit am
231 +gleichen Ort stehend stattfindet. Zumeist stehend, damit es bewusst kurz gehalten wird.
232 +Das Treffen sollte nicht länger als 15 Minuten dauern. Jedes Teammitglied beantwortet
192 192  drei Fragen:
193 193  
194 194  1. Was habe ich gestern gemacht?
... ... @@ -195,13 +195,27 @@
195 195  1. Was werde ich heute tun?
196 196  1. Gibt es Hindernisse, die mir im Weg stehen?
197 197  
198 -Durch das Daily Scrum werden Probleme sichtbar, die für den Scrum Master von großer Bedeutung sind, da er hierdurch eventuelle Impediments wahrnehmen und anschließend beseitigen kann. Außerdem ist dieses Treffen für das Team wichtig, um sich gegenseitig zu informieren und nach eventuell benötigter Hilfe zu suchen. Damit dieses Treffen möglichst effektiv ist, sollten sich die Teammitglieder darauf vorbereiten und vorher überlegen, was gestern bearbeitet wurde und was heute erledigt wird. Der Scrum Master sorgt in diesem Meeting dafür, dass die anderen Teammitglieder nicht den Fokus verlieren. Außerdem achtet er auf die Zeit, sodass diese eingehalten wird.
239 +Durch das Daily Scrum werden Probleme sichtbar, die für den Scrum Master von großer
240 +Bedeutung sind, da er hierdurch eventuelle Impediments wahrnehmen und anschließend
241 +beseitigen kann. Außerdem ist dieses Treffen für das Team wichtig, um sich gegenseitig
242 +zu informieren und nach eventuell benötigter Hilfe zu suchen. Damit dieses Treffen
243 +möglichst effektiv ist, sollten sich die Teammitglieder darauf vorbereiten und vorher
244 +überlegen, was gestern bearbeitet wurde und was heute erledigt wird. Der Scrum
245 +Master sorgt in diesem Meeting dafür, dass die anderen Teammitglieder nicht den Fokus
246 +verlieren. Außerdem achtet er auf die Zeit, sodass diese eingehalten wird.
199 199  
200 200  == Definition of Done/Definition of Ready ==
201 201  
202 202  === **Definition of Done** ===
203 203  
204 -Während eines Sprints beginnen die Entwickler erst eine neue Story, wenn die vorherige abgeschlossen ist. Damit alle Teammitglieder und der Product Owner //(hier: das gesamte Team)// das gleiche Verständnis für "fertig" haben, gibt es die Definition of Done. Diese umfasst eine Sammlung bestimmter Kriterien, die erfüllt sein müssen, damit eine Story als "fertig" gilt. Sie ist eine Forderung seitens des Product Owners an das Entwicklungsteam //(hier: seitens des Teams)//, welche, ebenso wie die Definition of Ready, verhandelt wird. Die Kriterien der Definition of Done sammelt das Team gemeinsam mit dem Product Owner //(hier: ohne den Product Owner)// bei einem separaten Treffen.
252 +Während eines Sprints beginnen die Entwickler erst eine neue Story, wenn die vorherige
253 +abgeschlossen ist. Damit alle Teammitglieder und der Product Owner //(hier: das gesamte//
254 +//Team)// das gleiche Verständnis für "fertig" haben, gibt es die Definition of Done. Diese
255 +umfasst eine Sammlung bestimmter Kriterien, die erfüllt sein müssen, damit eine
256 +Story als "fertig" gilt. Sie ist eine Forderung seitens des Product Owners an das
257 +Entwicklungsteam //(hier: seitens des Teams)//, welche, ebenso wie die Definition of Ready,
258 +verhandelt wird. Die Kriterien der Definition of Done sammelt das Team gemeinsam
259 +mit dem Product Owner //(hier: ohne den Product Owner)// bei einem separaten Treffen.
205 205  
206 206  ==== **Nutzen einer Definition of Done** ====
207 207  
... ... @@ -212,7 +212,15 @@
212 212  
213 213  === **Definition of Ready** ===
214 214  
215 -Eine Definition of Ready ist eine Sammlung von Forderungen von dem Entwicklungsteam an den Product Owner //(hier: innerhalb des Teams)//, wie eine User Story beschrieben sein muss, damit das Entwicklungsteam ungestört und ohne Hindernisse arbeiten kann. Über diese Forderungen verhandelt das Team mit dem Product Owner //(hier: das Team handelt die Punkte untereinander aus)// und das Ergebnis ist die Definition of Ready. Beispielsweise kann das Team eine Form vorgeben, wie der Titel der Story geschrieben sein soll oder dass Akzeptanzkriterien enthalten sein müssen und in welcher Form. Das Team muss überprüfen, ob die Kriterien in den User Stories eingehalten wurden. Wurden sie nicht eingehalten, können große Verzögerungen entstehen.
270 +Eine Definition of Ready ist eine Sammlung von Forderungen von dem Entwicklungsteam
271 +an den Product Owner //(hier: innerhalb des Teams)//, wie eine User Story beschrieben
272 +sein muss, damit das Entwicklungsteam ungestört und ohne Hindernisse arbeiten kann.
273 +Über diese Forderungen verhandelt das Team mit dem Product Owner //(hier: das Team//
274 +//handelt die Punkte untereinander aus)// und das Ergebnis ist die Definition of Ready.
275 +Beispielsweise kann das Team eine Form vorgeben, wie der Titel der Story geschrieben
276 +sein soll oder dass Akzeptanzkriterien enthalten sein müssen und in welcher Form.
277 +Das Team muss überprüfen, ob die Kriterien in den User Stories eingehalten wurden.
278 +Wurden sie nicht eingehalten, können große Verzögerungen entstehen.
216 216  
217 217  === **Unterschiede zwischen Definition of Done und Definition of Ready** ===
218 218  
... ... @@ -221,7 +221,15 @@
221 221  
222 222  == Sprint Review ==
223 223  
224 -Am Ende eines Sprints findet das Sprint Review statt. Bei diesem Treffen werden die Sprint-Ergebnisse allen Interessierten präsentiert. Dazu gehören beispielsweise der Auftraggeber oder andere Stakeholder //(hier: mit dem gesamten Team und ggf. dem Tutor)//. Der Scrum Master bereitet dieses Meeting vor, indem er die Interessenten über dieses Treffen informiert, des Weiteren moderiert er die Sitzung. Die Vorstellung der Ergebnisse wird von den Teammitgliedern //(hier: inkl. dem Scrum Master, da auch der Scrum Master im Softwareprojekt programmiert)// vorbereitet. Nachdem der Scrum Master das Meeting eröffnet hat, erklärt er kurz das Sprint-Ziel und die User Stories, die abgeschlossen wurden. Dann präsentiert das Entwicklungsteam die Ergebnisse.
287 +Am Ende eines Sprints findet das Sprint Review statt (siehe [[Sprint-Review mit Jira>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/691404828/Sprint-Review+mit+Jira]]). Bei diesem Treffen werden
288 +die Sprint-Ergebnisse allen Interessierten präsentiert. Dazu gehören beispielsweise der
289 +Auftraggeber oder andere Stakeholder //(hier: mit dem gesamten Team und ggf. dem//
290 +//Tutor)//. Der Scrum Master bereitet dieses Meeting vor, indem er die Interessenten über
291 +dieses Treffen informiert, des Weiteren moderiert er die Sitzung. Die Vorstellung der
292 +Ergebnisse wird von den Teammitgliedern //(hier: inkl. dem Scrum Master, da auch//
293 +//der Scrum Master im Softwareprojekt programmiert)// vorbereitet. Nachdem der Scrum
294 +Master das Meeting eröffnet hat, erklärt er kurz das Sprint-Ziel und die User Stories,
295 +die abgeschlossen wurden. Dann präsentiert das Entwicklungsteam die Ergebnisse.
225 225  
226 226  === **Mehrwert eines Reviews** ===
227 227  
... ... @@ -232,12 +232,17 @@
232 232  
233 233  == Sprint Retrospektive ==
234 234  
235 -Während einer Retrospektive kann das Entwicklungsteam die Zusammenarbeit reflektieren, Missmut äußern und Vorschläge für Verbesserungen sammeln. Das Ziel einer Retrospektive ist der kontinuierliche Verbesserungsprozess innerhalb des Teams. Ein gut funktionierendes Team kann qualitativ hochwertige Produkte liefern. Eine Retrospektive muss von einem Scrum Master gut vorbereitet werden. Der Scrum Master moderiert dieses Treffen
306 +Während einer Retrospektive kann das Entwicklungsteam die Zusammenarbeit reflektieren,
307 +Missmut äußern und Vorschläge für Verbesserungen sammeln. Das Ziel einer
308 +Retrospektive ist der kontinuierliche Verbesserungsprozess innerhalb des Teams. Ein
309 +gut funktionierendes Team kann qualitativ hochwertige Produkte liefern. Eine Retrospektive
310 +muss von einem Scrum Master gut vorbereitet werden. Der Scrum Master
311 +moderiert dieses Treffen
236 236  
237 237  Beispiele für Retrospektiven finden sich z.B. hier: [[https:~~/~~/dzone.com/articles/7-formats-for-great-team-retrospectives?edition=703410>>url:https://dzone.com/articles/7-formats-for-great-team-retrospectives?edition=703410]]
238 238  
239 -[[image:Unbenannt2.JPG]]
315 +Video zur Sprintretrospektive und die Verwendung in Jira [[1080p>>url:https://swl.informatik.uni-oldenburg.de/swp/video/Jira/Sprint-Retrospektive.mp4]]
240 240  
317 +[[~[~[image:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/26a515caf8f128ae250a0240aea01531/Unbenannt2.JPG~|~|alt="Unbenannt2.JPG"~]~]>>path:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/26a515caf8f128ae250a0240aea01531/Unbenannt2.JPG]]
241 241  
242 -
243 243  
attach_file Scrum-Prozess.JPG
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.PascalMeyer
Size
... ... @@ -1,1 +1,0 @@
1 -59.4 KB
Content info
attach_file Unbenannt.JPG
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.PascalMeyer
Size
... ... @@ -1,1 +1,0 @@
1 -178.6 KB
Content info
attach_file Unbenannt2.JPG
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.PascalMeyer
Size
... ... @@ -1,1 +1,0 @@
1 -60.7 KB
Content info