Erstellung eines Softwareentwicklungsvertrages nach SCRUM-Methode
Legal Advice | Yes |
---|---|
Delivery Time (business days) | 5 |
Vorteile von Scrum
Srum ist ein einfaches und (bei konsequenten einhalten der Regeln) ein leicht umzusetzendes Framework mit Rollen, Artefakten und Aktivitäten für das agile Produkt- & agile Projektmanagement (besonders gut hat es sich bei der Softwareentwicklung bewährt).
Es setzt auf selbst organisierende und disziplinär übergreifende Teams. Diese Teams Treffen in der Praxis sehr gute Entscheidungen und arbeiten deutlich Effektiver als Teams in klassischen Entwicklungsprozessen. Durch die kurzfristigen Feedbackschleifen und der extrem hohen Transparenz innerhalb von Scrum Teams ergeben sich kaum klassische Verzögerungen und Missinterpretationen. Durch den "hohen Spaß" an der Arbeit sind Scrum Teams intrinsisch motiviert und immer an der kontinuierlichen Verbesserung des eigenen Teams interessiert. (es entsteht Quasi ein Wettstreit mit sich selbst "wie können wir noch besser werden").
Scrum Rollen
Scrum sieht drei Rollen vor:
- Development Team oder kurz Team
- Scrum Product Owner
- Scrum Master
Alle drei Rollen zusammen werden als Scrum-Team bezeichnet. Alle anderen Rollen werden pauschal als Stakeholder bezeichnet.
Scrum Master
Er dient dem Team als Scrum-Lehrer, Scrum-Coach, Mentor und Moderator und sorgt dafür, dass die Scrum Regeln beachtet werden. Er trägt die Verantwortung dass so genannte Impediments (Stolpersteine, Hindernisse) "aus dem Weg geräumt" werden und vermittelt zwischen Team und der Organisation (Managern). Das Hauptziel eines ScrumMasters ist "continous Improvement"! (bezogen auf Scrum Team, Development Team und Organisation).
Er ist derjenige, der dafür sorgt, dass das Team möglichst effektiv und ungestört arbeiten kann. Er ist auch derjenige der darauf achtet, dass die wenigen Scrum Regeln reibungslos für das Scrum-Team funktionieren und das allen Beteiligte die Scrum - Theorie, Praktiken, Regeln und Werte verstehen lernen.
Er ist ein Coach und Berater der das Team bezüglich der gruppenddynamischen Aspekte unterstützt. Die Umsetzung von Scrum kann je nach Unternehmen, den Mitgliedern im Team und deren Persönlichkeit, stark variieren. Dies fordert vom Scrum Master die benötigte kommunikative Fähigkeiten und Einsicht in zwischenmenschlichen Beziehungen. Im Scrum Guide wird der Scrum Master, als „Servant Leader für das gesamte Scrum-Team“ bezeichnet.
Der Scrum Master hilft denjenigen, die kein Teil des Scrum-Teams sind, zu verstehen, welche ihrer Interaktionen mit dem Team sich hilfreich auswirken und welche nicht. Der Scrum Master hilft dabei, die Zusammenarbeit so zu optimieren, dass der durch das Scrum-Team generierte Wert optimiert und maximiert wird. Dies passiert unter anderem auch dadurch, dass Hindernisse (so genannte Impediments) beseitigt werden und ggf. diese bis ins "Upper Management" eskaliert werden.
Scrum Development Team
Dies sind alle Personen die direkt an der Erstellung des Produkts beteiligt sind. Es schließt Programmierer, Softwarearchitekten, Tester, Systemadministratoren, Technische Redakteure und alle weiteren im Entwicklungsprozess benötigen Personen ein.
Letztendlich sind alle "Skills" auf dem Team vertreten, die für die Erstellung des Produktes benötigt werden. Man spricht hier auch von "Cross Funktionalität" auf dem Team. Die zweite wichtige Eigenschaft eines Development Teams ist die "Selbst-Organisation". Sprich, niemand im oder ausserhalb des Teams gibt Vorgaben wie oder von wem gewisse Aufgaben zu erledigen sind.
Scrum Product Owner
Es ist der Fachvertreter und zuständig, dass Produkte den höchsten "Nutzwert" enthalten. Sprich der Product Owner verantwortet den Kundennutzen. Man spricht in diesem Zusammenhang auch vom "Value Maximizer". Er liefert die Anforderungen und sorgt für einen möglichst hohen ROI und geringen TCO.
Der Product Owner ist die Rolle innerhalb eines Scrum Teams der für den wirtschaftlichen Erfolg eines Produktes/Projektes verantwortlich zeichnet. Somit ist er verantwortlich für die Wertmaximierung des zu entwickelnden Produkts, und für die Qualität des Produktes. Wie dies geschieht, kann je nach Organisation, Scrum-Team und Einzelpersonen stark variieren.
Der Product Owner ist die einzige Person, die für das Product Backlog Management zuständig ist. Er bestimmt in Abhängigkeit des höchsten wirschaftlichen Wertes eine Liste an Anforderungen (das Product Backlog) die das Development-Team umsetzen soll.
Das Product-Backlog-Management umfasst:
- Die Product-Backlog-Einträge klar zu formulieren;
- Die Einträge im Product Backlog so zu sortieren, dass Ziele und Missionen optimal erreicht werden können;
- Den Wert der Arbeit zu optimieren, die das Entwicklungsteam erledigt;
- Sicherzustellen, dass das Product Backlog sichtbar, transparent und für alle klar ist sowie zeigt, woran das Scrum-Team als nächstes arbeiten wird; und
- Sicherzustellen, dass das Entwicklungsteam die Product-Backlog-Einträge im erforderlichen Maße versteht.
Der Product Owner kann die oben genannten Arbeiten selbst durchführen oder sie durch das Development-Team erledigen lassen. Der Product Owner bleibt jedoch immer rechenschaftspflichtig und in der Verantwortung.
Er ist die Schnittstelle zu den Stakeholdern wie z.B. zum "Endkunden". Er sorgt dafür, dass diese immer über den Projektfortschritt informiert sind. Er arbeitet somit sehr eng mit "Endkunden" als auch mit dem Development-Team zusammen.
Der Product Owner ist immer eine einzelne Person, kein Komitee. Er kann zwar die Wünsche eines Komitees im Product Backlog wiedergeben, aber diejenigen, die einen Eintrag des Product Backlogs in seiner Priorität verändern möchten, müssen sich an den Product Owner wenden.
Damit der Product Owner erfolgreich sein kann, muss die gesamte Organisation seine Entscheidungen respektieren. Die Entscheidungen des Product Owners sind in Inhalt und Reihenfolge des Product Backlogs sichtbar. Niemand darf das Development-Team zwingen, andere Anforderungen zu bearbeiten.
Erweiterte Rollen
Die "Erweiterten Rollen" sind keine offiziellen Rollen des ScrumGuides (Diese werden dort zusammenfassend als Stakeholder bezeichnet).
Kunde
Er ist der Auftraggeber und bestimmt das Budget und die Produktanforderung. Der Kunde gibt seine Wünsche und Anforderungen den ProductOwner weiter, der als Vermittler zum Team dient.
Benutzer
Dies sind die Personen, die ein Produkt benutzen. Sie sind nur indirekt am Entwicklungsprozess beteiligt und werden vom ProductOwner vertreten.
Selbstorganisation
Das Kernkonzept von Scrum ist die Selbstorganisation insbesondere des Entwicklerteams.
Es steht bei allen Planungssitzungen im Mittelpunkt. Der ScrumMaster hat nicht die Führungsrolle eines Projektmanagers, sondern eher die eines Moderators und Coaches.