Wiki source code of Scrum
Version 1.7 by Pascal Meyer on 2025/07/29 03:47
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.5 | 1 | = Scrum - Ein kurzer Überblick = |
![]() |
1.1 | 2 | |
![]() |
1.5 | 3 | **Was ist Scrum und warum brauchen wir das im SWP?** |
4 | |||
5 | * Scrum ist einer von mehreren agilen Projektmanagement-Ansätzen und insbesondere für die Softwareentwicklung geeignet | ||
6 | * Wird benötigt, um die Entwicklung des im SWP geforderten Produkts im Rahmen eines vernünftig strukturierten Projektmanagements umzusetzen | ||
7 | |||
8 | **Charakteristika:** | ||
9 | |||
10 | * Selbst-organisierende Teams | ||
11 | * Scrum-Projekte schreiten in Serien von Sprints voran | ||
12 | * Typische Sprintdauer beträgt 2-4 Wochen → //Im SWP haben sich 2-3 Wochen bewährt// | ||
13 | * Konstante Dauer führt zu einem besseren Rhythmus | ||
14 | * Produkt wird während des Sprints entworfen, kodiert und getestet | ||
15 | * Es gibt Zeiten, in denen man in keinem Sprint ist, sondern einen neuen Sprint vorbereitet | ||
16 | * Anforderungsanalyse sollte grundsätzlich vor allen Sprints erfolgen | ||
17 | * Anforderungen sind als Listeneinträge im Product Backlog festgehalten (Hinweis: Das Backlog kann mehr als nur die Anforderungen enthalten, d.h. nicht jeder Eintrag im Backlog entspricht einer Anforderung.) | ||
18 | * Im SWP "kleine iterative Wasserfälle" → Anforderung, Design, Kodierung, Test | ||
19 | |||
20 | **Rahmen:** | ||
21 | |||
![]() |
1.7 | 22 | * **Rollen** |
23 | ** **Product Owner** | ||
![]() |
1.5 | 24 | *** Definiert Product-Features |
25 | *** Bestimmt Auslieferungsdatum und Inhalt | ||
26 | *** Akzeptiert oder weist Arbeitsergebnisse zurück | ||
27 | *** Im SWP der Tutor in Absprache mit Marco und das Team | ||
![]() |
1.7 | 28 | ** **Scrum Master** |
![]() |
1.6 | 29 | *** Repräsentiert das Management gegenüber dem Projekt |
30 | *** Verantwortlich für die Einhaltung von Scrum-Werten und -Techniken | ||
31 | *** Beseitigt Hindernisse | ||
32 | *** Stellt sicher, dass das Team vollständig, funktional und produktiv ist | ||
33 | *** Unterstützt die enge Zusammenarbeit zwischen allen Rollen und Funktionen | ||
34 | *** Schützt das Team vor äußeren Störungen | ||
![]() |
1.7 | 35 | *** Im SWP ein spezielles Mitglied der Gruppe, welches trotzdem auch mitentwickelt |
36 | ** **Entwicklungs-Team** | ||
37 | *** Typischerweise 5-9 Personen | ||
38 | *** Funktionsübergreifend | ||
39 | **** QS, Programmierer, UI-Designer, etc. | ||
40 | *** Mitglieder sollen Vollzeitmitglieder sein | ||
41 | *** Teams organisieren sich selbst | ||
42 | *** Mitgliedschaft kann nur zwischen Sprints verändert werden | ||
43 | * **Meetings** | ||
44 | ** **Sprint Planning** | ||
45 | *** Sprint Priorisierung | ||
46 | **** Product Backlog analysieren und auswerten | ||
47 | **** Sprint-Ziel festlegen | ||
48 | *** Planung | ||
49 | **** Entscheiden, wie man das Sprint-Ziel erreichen kann (Design) | ||
50 | **** Sprint Backlog (Tasks) aus Product Backlog (User Stories/Features) erstellen | ||
51 | ***** Team wählt Einheiten, zu deren Implementierung es sich verpflichten kann, aus dem Product Backlog aus | ||
52 | *** Sprint Backlog schätzen (Planning Poker, Magic Estimation, etc.) | ||
53 | *** Sprint-Ziel | ||
54 | **** Kurze Angabe dessen, worauf sich die Arbeiten während des Sprints fokussieren | ||
55 | **** Wichtig! Wird gerne unterschätzt | ||
56 | **** Hilft, das Ziel im Auge zu behalten | ||
57 | ** **Sprint Review** | ||
![]() |
1.5 | 58 | ** Sprint Retrospektive |
59 | ** Tägliches Scrum-Meeting (Daily) | ||
![]() |
1.7 | 60 | * **Artefakte** |
![]() |
1.5 | 61 | ** Product Backlog |
62 | ** Sprint Backlog | ||
63 | ** Produktinkrement | ||
64 | |||
65 | === **Rollen** === | ||
66 | |||
67 | Product Owner: | ||
68 | |||
69 | * Definiert Product-Features | ||
70 | * Bestimmt Auslieferungsdatum und Inhalt | ||
71 | * Akzeptiert oder weist Arbeitsergebnisse zurück | ||
72 | * Im SWP der Tutor in Absprache mit Marco und das Team | ||
73 | |||
74 | Scrum Master: | ||
75 | |||
76 | * Repräsentiert das Management gegenüber dem Projekt | ||
77 | * Verantwortlich für die Einhaltung von Scrum-Werten und -Techniken | ||
78 | * Beseitigt Hindernisse | ||
79 | * Stellt sicher, dass das Team vollständig, funktional und produktiv ist | ||
80 | * Unterstützt die enge Zusammenarbeit zwischen allen Rollen und Funktionen | ||
81 | * Schützt das Team vor äußeren Störungen | ||
82 | |||
83 | → Im SWP ein spezielles Mitglied der Gruppe | ||
84 | |||
85 | → Soll trotzdem auch mit entwickeln | ||
86 | |||
87 | Entwicklungs-Team: | ||
88 | |||
89 | * Typischerweise 5-9 Personen | ||
90 | * Funktionsübergreifend | ||
91 | ** QS, Programmierer, UI-Designer, etc. | ||
92 | * Mitglieder sollen Vollzeitmitglieder sein | ||
93 | * Teams organisieren sich selbst | ||
94 | * Mitgliedschaft kann nur zwischen Sprints verändert werden | ||
95 | |||
96 | → Es kann helfen, einen Projektleiter zu bestimmen (ist nicht Scrum-Konform, aber im SWP kann es hilfreich sein) | ||
97 | |||
98 | === **Meetings** === | ||
99 | |||
100 | Sprint Planning | ||
101 | |||
102 | * Sprint Priorisierung | ||
103 | ** Product Backlog analysieren und auswerten | ||
104 | ** Sprint-Ziel festlegen | ||
105 | * Planung | ||
106 | ** Entscheiden, wie man das Sprint-Ziel erreichen kann (Design) | ||
107 | ** Sprint Backlog (Tasks) aus Product Backlog (User Stories/Features) erstellen | ||
108 | *** Team wählt Einheiten, zu deren Implementierung es sich verpflichten kann, aus dem Product Backlog aus | ||
109 | * Sprint Backlog schätzen (Planning Poker, Magic Estimation, etc.) | ||
110 | * Sprint-Ziel | ||
111 | ** Kurze Angabe dessen, worauf sich die Arbeiten während des Sprints fokussieren | ||
112 | ** Wichtig! Wird gerne unterschätzt | ||
113 | ** Hilft, das Ziel im Auge zu behalten | ||
114 | |||
115 | Daily Scrum //(hier: Weekly)// | ||
116 | |||
117 | * Wöchentliches Treffen startet mit Scrum-Meeting | ||
118 | * Am Ende der Sitzung Verteilung neuer Aufgaben (jeder hat mindestens ein Ticket) | ||
119 | * Im Weekly werden keine Lösungen diskutiert, dies kann im weiteren Verlauf der Sitzung passieren | ||
120 | |||
121 | Sprint-Review | ||
122 | |||
123 | * Das Team präsentiert, was es während eines Sprints erreicht hat | ||
124 | * Typischerweise in Form einer Demo mit neuen Features oder der zugrunde liegenden Architektur | ||
125 | * Das ganze Team nimmt teil! | ||
126 | |||
127 | Sprint-Retrospektive | ||
128 | |||
129 | * Regelmäßig prüfen, was gut und was nicht so gut funktioniert | ||
130 | * ca. 15-30 min lang | ||
131 | * Nach jedem Sprint | ||
132 | * Das gesamte Team kommt zusammen und diskutiert, wie es sich verbessern möchte | ||
133 | * Methode hierfür bspw: Starfish (siehe Bild) | ||
134 | * Weitere Methoden für die Retrospektiven finden sich z.B. hier: [[https:~~/~~/retromat.org/>>url:https://retromat.org/]] | ||
135 | |||
136 | [[~[~[image:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/e505851f2237f527759101e71f2207f9/Retrospektive.png~|~|alt="Retrospektive.png" height="393" width="524"~]~]>>path:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/e505851f2237f527759101e71f2207f9/Retrospektive.png]] | ||
137 | |||
138 | === **Artefakte** === | ||
139 | |||
140 | Product Backlog: | ||
141 | |||
142 | * Die Anforderungen für das finale Produkt | ||
143 | * Eine Liste aller gewünschten Projektarbeiten | ||
144 | * Eigentlich immer mehr, als im aktuellen Sprint gebraucht wird | ||
145 | * Im SWP: Zu Beginn füllen und später ergänzen | ||
146 | * Vom Product Owner priorisiert | ||
147 | * Zu Beginn des Sprints repriorisiert | ||
148 | |||
149 | Sprint Backlog: | ||
150 | |||
151 | * Team-Mitglieder wählen Tasks aus (Arbeit wird nie zugewiesen) | ||
152 | * **Aber:** | ||
153 | ** Im SWP hat jeder am Ende einer Sitzung eine Aufgabe! | ||
154 | ** Im Zweifelsfall durch Zuweisung... | ||
155 | * Jedes Team-Mitglied kann Tasks hinzufügen, löschen oder ändern (basierend auf dem aktuellen Ziel) | ||
156 | * Wenn Arbeit unklar ist, definieren Sie erstmal einen Task mit größerer Schätzung und erstelle Unteraufgaben, sobald die Arbeit klarer wird | ||
157 | * 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]]) | ||
158 | |||
159 | = Scrum im Detail = | ||
160 | |||
161 | == Scrum-Prozess == | ||
162 | |||
163 | Nachdem die Produktvision definiert wurde, wird das Product Backlog erstellt und vom | ||
164 | Product Owner //(hier: gesamtes Team im Softwareprojekt)// verwaltet. Aus dem Sprint | ||
165 | Planning resultiert das Sprint Backlog, welches im Sprint durch das Entwicklungsteam | ||
166 | //(hier: Scrum Master gehört zum Entwicklungsteam und programmiert mit)// abgearbeitet | ||
167 | wird. Der Scrum Master sorgt dafür, dass das Entwicklungsteam ungestört arbeiten | ||
168 | kann. Täglich //(hier: wöchentlich)// trifft er sich im Daily Scrum mit dem Team. Nach | ||
169 | dem Sprint wird ein Produktinkrement an den Auftraggeber //(hier: an das gesamte// | ||
170 | //Team)// ausgeliefert und in einem Sprint Review näher erläutert. Anschließend wird eine | ||
171 | Sprint Retrospektive durchgeführt, in der das Team die Zusammenarbeit reflektieren kann. | ||
172 | |||
173 | == Product Backlog == | ||
174 | |||
175 | Ein Product Backlog ist eine priorisierte Anforderungsliste für das von dem Auftraggeber | ||
176 | gewünschte Softwareprodukt. Diese ist nie vollständig und zu jederzeit anpassbar. Der | ||
177 | Product Owner //(hier: das gesamte Team)// ergänzt das Backlog stetig und hat in den | ||
178 | meisten Fällen bereits User Stories für den nächsten Sprint geplant. Aus diesem Grund | ||
179 | sind in dem Backlog nicht alle für das komplette Produkt relevanten Anforderungen | ||
180 | zu finden, weil sich von Sprint zu Sprint immer wieder neue Anforderungen ergeben | ||
181 | oder alte verworfen werden. Es ist auch möglich, dass sich die Prioritäten ändern. Der | ||
182 | Product Owner //(hier: das gesamte Team)// verwaltet das Backlog, allerdings muss es für | ||
183 | alle Mitglieder des Scrum Teams ersichtlich sein. | ||
184 | |||
185 | === **Der Nutzen eines gepflegten/priorisierten Product Backlogs** === | ||
186 | |||
187 | Priorisiert: | ||
188 | |||
189 | * Um die für das Projekt wertvollsten Stories am Anfang zu bearbeiten | ||
190 | * So kann schnell ein funktionierendes Spiel entwickelt werden | ||
191 | * Am Ende ist dann noch genug Zeit für feinere Anpassungen | ||
192 | * Kann die Arbeit im Projekt erleichtern | ||
193 | |||
194 | Gepflegt: | ||
195 | |||
196 | * Wichtig für ein effizientes, übersichtliches Arbeiten | ||
197 | |||
198 | === **Unterschiede Product Backlog vs. Sprint Backlog** === | ||
199 | |||
200 | * Product Backlog ist nie vollständig und zu jederzeit anpassbar | ||
201 | * Sprint Backlog kann nur unter bestimmten Voraussetzungen angepasst werden | ||
202 | |||
203 | == Sprint Planning == | ||
204 | |||
205 | Nachdem das Product Backlog initial gefüllt und das Sprint-Ziel festgelegt wurde, kann | ||
206 | das Planning beginnen. Das Sprint Planning ist wichtig, weil der Product Owner und | ||
207 | das Entwicklungsteam //(hier: das gesamte Team)// sich so einig über die zu bearbeitenden | ||
208 | User Stories werden können. In diesem Meeting wird gemeinsam mit dem Team, dem | ||
209 | Scrum Master und dem Product Owner der Sprint vorbereitet. | ||
210 | |||
211 | === **Ablauf eines Plannings (Checkliste)** === | ||
212 | |||
213 | ✓ Sprint-Ziel festlegen | ||
214 | ✓ Anhand des Sprint-Ziels die passenden User Stories aus dem Product Backlog suchen | ||
215 | ✓ Die vorhandenen Schätzungen der User Stories überprüfen und ggf. anpassen | ||
216 | ✓ Nicht geschätzte User Stories schätzen | ||
217 | ✓ (nicht im ersten Sprint) Velocity heranziehen und schauen, wie viele Story Points im letzten Sprint erledigt wurden | ||
218 | ✓ Die gleiche Anzahl an Story Points in das Sprint Backlog ziehen | ||
219 | ✓ User Stories in Tasks aufsplitten | ||
220 | ✓ Alle Teammitglieder suchen sich Aufgaben aus, die sie bearbeiten möchten | ||
221 | ✓ Sprint starten | ||
222 | |||
223 | === **Die dazugehörigen Elemente eines Sprint Plannings** === | ||
224 | |||
225 | * Sprint-Ziel | ||
226 | * Schätzen von Aufwänden | ||
227 | * Product Backlog | ||
228 | * Velocity | ||
229 | |||
230 | == Schätzen von Aufwänden == | ||
231 | |||
232 | Es sollte aus mehreren Gründen geschätzt werden. Zum einen bekommen alle Teammitglieder | ||
233 | einen Einblick in den Inhalt aller User Stories, bevor angefangen wird, sie | ||
234 | umzusetzen. Dies schärft das Verständnis für das Produkt. Zum anderen findet das | ||
235 | Schätzen im besten Fall mit dem gesamten Team statt, wodurch dieses Meeting eine | ||
236 | teamgeistfördernde Aktivität ist. Ein weiterer Vorteil ist, dass jede Person im Team weiß, | ||
237 | worum es in der Story geht, sodass jede Person jede Aufgabe bearbeiten kann. Außerdem | ||
238 | können so in Diskussionen Probleme oder zusätzliche Informationen identifiziert werden, | ||
239 | wenn eine User Story beispielsweise in kleinere sinnvolle Einheiten aufgeteilt werden | ||
240 | kann. Die Einheit, in der zumeist geschätzt wird, nennt sich "Story Points". | ||
241 | |||
242 | === **Ablauf der Aufwandsschätzung (Checkliste)** === | ||
243 | |||
244 | ✓ Auf eine Werteskala einigen (Fibonacci oder T-Shirt Größen) (siehe Abschnitt "Vorschlag für eine Werteskala zum Schätzen") | ||
245 | ✓ Auf eine Schätzmethode einigen (siehe Abschnitt "Der Ablauf vom Planningpoker") | ||
246 | ✓ Eine Referenzstory bestimmen, anhand dessen geschätzt werden soll | ||
247 | ✓ Definition of Done bei der Schätzung mit einbeziehen | ||
248 | ✓ Geschätzte Story Points den jeweiligen Stories hinzufügen | ||
249 | |||
250 | === **Der Ablauf vom Planningpoker** === | ||
251 | |||
252 | * Jedes Teammitglied hat einen Satz Karten, auf dem eine zuvor bestimmte Werteskala abgebildet ist (online abwandelbar, siehe Abschnitt "Tools, um online zu schätzen") | ||
253 | * Stories werden vorgestellt | ||
254 | * Es dürfen Fragen zu den Stories gestellt werden, falls etwas unklar ist | ||
255 | * Danach legt jedes Teammitglied eine Karte mit einem Wert verdeckt auf den Tisch | ||
256 | * Hat jede Person eine Karte abgelegt, werden diese umgedreht | ||
257 | * Ziel: Team einigt sich auf einen Wert | ||
258 | * Weichen die Werte auf den Karten stark voneinander ab, besteht offenbar Diskussionsbedarf | ||
259 | * Nach der Diskussion geht es in eine zweite Runde, bis sich das Team einigen konnte und alle offenen Fragen zu der Story geklärt sind | ||
260 | |||
261 | === **Vorschlag für eine Werteskala zum Schätzen** === | ||
262 | |||
263 | * Nur wenige Zahlen auswählen (bspw. 1,2,3,5,8) | ||
264 | * Wenn in T-Shirt-Größen geschätzt wird, dann jeder Größe eine Zahl zuweisen, sodass das Burndown- und Velocity-Chart genutzt werden kann | ||
265 | |||
266 | [[~[~[image:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/78f387122adf2a44d3b92efa743d3446/tshirtfibo.JPG~|~|alt="tshirtfibo.JPG"~]~]>>path:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/78f387122adf2a44d3b92efa743d3446/tshirtfibo.JPG]] | ||
267 | |||
268 | === **Definition eines Velocity Charts** === | ||
269 | |||
270 | Hat das Team schon mindestens einen Sprint hinter sich, kann der nächste Sprint auf | ||
271 | Basis der Velocity aufgebaut werden. Die Velocity steht für die Geschwindigkeit des | ||
272 | Teams. Das bedeutet, dass ermittelt wird, wie viele Story Points das Entwicklungsteam | ||
273 | in dem vorherigen Sprint geschafft hat. Aufgrund dieser Information kann der darauf | ||
274 | folgende Sprint genauer geplant werden, indem sich das Team nur auf die Anzahl der | ||
275 | vorher erledigten Story Points committet. Die Abbildung zeigt ein solches Velocity Chart. | ||
276 | Die x-Achse zeigt die bisherige Anzahl an Sprints und die y-Achse die Story Points, die | ||
277 | in einem Sprint erledigt wurden. Es ist zu sehen, dass beispielsweise im zweiten Sprint | ||
278 | 15 Story Points geschafft wurden, jedoch im dritten Sprint nur fünf. Ab dem dritten | ||
279 | Sprint kann eine Verbesserung der Geschwindigkeit des Teams wahrgenommen werden. | ||
280 | |||
281 | [[~[~[image:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/3bb28351d712bbf3e9ad6360fd85bc6a/velo.JPG~|~|alt="velo.JPG"~]~]>>path:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/3bb28351d712bbf3e9ad6360fd85bc6a/velo.JPG]] | ||
282 | |||
283 | === **Definition eines Burndown Charts** === | ||
284 | |||
285 | Eine Möglichkeit zur Überprüfung des Fortschritts während eines Sprints ist die Erstellung | ||
286 | eines Burndown Charts. Es zeigt die bereits erledigten Story Points auf Basis | ||
287 | der verbleibenden Zeit an. Somit kann schnell gesehen werden, ob Verzögerungen oder | ||
288 | Probleme auftreten und falls dies der Fall ist, kann ein Meeting einberufen werden, | ||
289 | damit über die Probleme gesprochen wird. Die Abbildung zeigt ein | ||
290 | Burndown Chart. Auf der x-Achse sind die Arbeitstage zu sehen und auf der y-Achse | ||
291 | die noch zu erledigenden Story Points für den Sprint. Es ist zu sehen, dass das Team | ||
292 | bisher einen guten Fortschritt hat, weil der Graph bisher stetig abfällt. | ||
293 | |||
294 | [[~[~[image:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/a5dbbbeddb36c2545d5748bfef5124c2/burnd.JPG~|~|alt="burnd.JPG"~]~]>>path:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/a5dbbbeddb36c2545d5748bfef5124c2/burnd.JPG]] | ||
295 | |||
296 | == Daily Scrum == | ||
297 | |||
298 | Täglich //(hier: wöchentlich)// treffen sich das Entwicklungsteam und der Scrum Master | ||
299 | zu einem Meeting. Es ist ein sehr kurzes Treffen, welches immer zur gleichen Zeit am | ||
300 | gleichen Ort stehend stattfindet. Zumeist stehend, damit es bewusst kurz gehalten wird. | ||
301 | Das Treffen sollte nicht länger als 15 Minuten dauern. Jedes Teammitglied beantwortet | ||
302 | drei Fragen: | ||
303 | |||
304 | 1. Was habe ich gestern gemacht? | ||
305 | 1. Was werde ich heute tun? | ||
306 | 1. Gibt es Hindernisse, die mir im Weg stehen? | ||
307 | |||
308 | Durch das Daily Scrum werden Probleme sichtbar, die für den Scrum Master von großer | ||
309 | Bedeutung sind, da er hierdurch eventuelle Impediments wahrnehmen und anschließend | ||
310 | beseitigen kann. Außerdem ist dieses Treffen für das Team wichtig, um sich gegenseitig | ||
311 | zu informieren und nach eventuell benötigter Hilfe zu suchen. Damit dieses Treffen | ||
312 | möglichst effektiv ist, sollten sich die Teammitglieder darauf vorbereiten und vorher | ||
313 | überlegen, was gestern bearbeitet wurde und was heute erledigt wird. Der Scrum | ||
314 | Master sorgt in diesem Meeting dafür, dass die anderen Teammitglieder nicht den Fokus | ||
315 | verlieren. Außerdem achtet er auf die Zeit, sodass diese eingehalten wird. | ||
316 | |||
317 | == Definition of Done/Definition of Ready == | ||
318 | |||
319 | === **Definition of Done** === | ||
320 | |||
321 | Während eines Sprints beginnen die Entwickler erst eine neue Story, wenn die vorherige | ||
322 | abgeschlossen ist. Damit alle Teammitglieder und der Product Owner //(hier: das gesamte// | ||
323 | //Team)// das gleiche Verständnis für "fertig" haben, gibt es die Definition of Done. Diese | ||
324 | umfasst eine Sammlung bestimmter Kriterien, die erfüllt sein müssen, damit eine | ||
325 | Story als "fertig" gilt. Sie ist eine Forderung seitens des Product Owners an das | ||
326 | Entwicklungsteam //(hier: seitens des Teams)//, welche, ebenso wie die Definition of Ready, | ||
327 | verhandelt wird. Die Kriterien der Definition of Done sammelt das Team gemeinsam | ||
328 | mit dem Product Owner //(hier: ohne den Product Owner)// bei einem separaten Treffen. | ||
329 | |||
330 | ==== **Nutzen einer Definition of Done** ==== | ||
331 | |||
332 | * Wenn keine Definition of Done vorhanden ist, kann es schnell zu einem Impediment führen, da kein klares Ende einer Story in Sicht ist | ||
333 | * Jedes Teammitglied ist dazu verpflichtet, diese Definition of Done einzuhalten | ||
334 | * Wenn sie nicht eingehalten wird, kann es am Ende des Projekts zu sehr viel Stress führen, wodurch viel Zeit verloren geht für bspw. Feinheiten | ||
335 | * Sollte direkt am Anfang erstellt werden, damit das Team sich dahingehend weiterentwickeln und lernen kann | ||
336 | |||
337 | === **Definition of Ready** === | ||
338 | |||
339 | Eine Definition of Ready ist eine Sammlung von Forderungen von dem Entwicklungsteam | ||
340 | an den Product Owner //(hier: innerhalb des Teams)//, wie eine User Story beschrieben | ||
341 | sein muss, damit das Entwicklungsteam ungestört und ohne Hindernisse arbeiten kann. | ||
342 | Über diese Forderungen verhandelt das Team mit dem Product Owner //(hier: das Team// | ||
343 | //handelt die Punkte untereinander aus)// und das Ergebnis ist die Definition of Ready. | ||
344 | Beispielsweise kann das Team eine Form vorgeben, wie der Titel der Story geschrieben | ||
345 | sein soll oder dass Akzeptanzkriterien enthalten sein müssen und in welcher Form. | ||
346 | Das Team muss überprüfen, ob die Kriterien in den User Stories eingehalten wurden. | ||
347 | Wurden sie nicht eingehalten, können große Verzögerungen entstehen. | ||
348 | |||
349 | === **Unterschiede zwischen Definition of Done und Definition of Ready** === | ||
350 | |||
351 | * Definition of Done beschreibt, wann eine User Story fertig bearbeitet wurde | ||
352 | * Definition of Ready beschreibt, wann eine User Story fertig beschrieben wurde | ||
353 | |||
354 | == Sprint Review == | ||
355 | |||
356 | 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 | ||
357 | die Sprint-Ergebnisse allen Interessierten präsentiert. Dazu gehören beispielsweise der | ||
358 | Auftraggeber oder andere Stakeholder //(hier: mit dem gesamten Team und ggf. dem// | ||
359 | //Tutor)//. Der Scrum Master bereitet dieses Meeting vor, indem er die Interessenten über | ||
360 | dieses Treffen informiert, des Weiteren moderiert er die Sitzung. Die Vorstellung der | ||
361 | Ergebnisse wird von den Teammitgliedern //(hier: inkl. dem Scrum Master, da auch// | ||
362 | //der Scrum Master im Softwareprojekt programmiert)// vorbereitet. Nachdem der Scrum | ||
363 | Master das Meeting eröffnet hat, erklärt er kurz das Sprint-Ziel und die User Stories, | ||
364 | die abgeschlossen wurden. Dann präsentiert das Entwicklungsteam die Ergebnisse. | ||
365 | |||
366 | === **Mehrwert eines Reviews** === | ||
367 | |||
368 | * Dient dazu, allen Teammitgliedern zu zeigen, was in dem Sprint bearbeitet wurde | ||
369 | * Alle Teammitglieder bleiben auf dem neuesten Stand | ||
370 | * Es kann dadurch verhindert werden, dass Teammitglieder abgehängt werden, sollte deshalb regelmäßig durchgeführt werden | ||
371 | * Tutor wird über den Fortschritt informiert und kann bei Bedarf Tipps oder Hinweise geben, sodass verhindert werden kann, dass die Studierenden in eine komplett falsche Richtung laufen | ||
372 | |||
373 | == Sprint Retrospektive == | ||
374 | |||
375 | Während einer Retrospektive kann das Entwicklungsteam die Zusammenarbeit reflektieren, | ||
376 | Missmut äußern und Vorschläge für Verbesserungen sammeln. Das Ziel einer | ||
377 | Retrospektive ist der kontinuierliche Verbesserungsprozess innerhalb des Teams. Ein | ||
378 | gut funktionierendes Team kann qualitativ hochwertige Produkte liefern. Eine Retrospektive | ||
379 | muss von einem Scrum Master gut vorbereitet werden. Der Scrum Master | ||
380 | moderiert dieses Treffen | ||
381 | |||
382 | 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]] | ||
383 | |||
384 | Video zur Sprintretrospektive und die Verwendung in Jira [[1080p>>url:https://swl.informatik.uni-oldenburg.de/swp/video/Jira/Sprint-Retrospektive.mp4]] | ||
385 | |||
386 | [[~[~[image:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/26a515caf8f128ae250a0240aea01531/Unbenannt2.JPG~|~|alt="Unbenannt2.JPG"~]~]>>path:/SPB/softwareprojekt-wiki_all/-/wikis/uploads/26a515caf8f128ae250a0240aea01531/Unbenannt2.JPG]] | ||
387 | |||
![]() |
1.4 | 388 |