Scrum

Zu Deutsch "Gedränge". Bezeichnet ein Vorgehensmodell zur agilen Softwareentwicklung aus dem Projektmanagement. Es zielt darauf ab selbstorganisierten Teams eine Richtung vorzugeben, Ihnen aber bei der Umsetzung möglichst viele Freiheiten einzuräumen.

team-work



Wir führen unsere Projekte seit geraumer Zeit nur noch in Scrum durch, denn sowohl unsere Erfahrungen als auch das Feedback unserer Kunden hat gezeigt, dass die Vorteile überwiegen.

Scrum Vorteile

Arrow image
  • Erhöht die Flexibilität des Projektes
  • Durch wiederkehrende Events wird die Motivation und Produktivität der Entwickler erhöht
  • Testbarkeit und Anpassbarkeit sind von Anfang an im Projekt gegeben
  • Erhöht den Austausch zwischen allen Stakeholder und dem Entwickler-Team
  • Schafft ein besseres Verständnis von den Features, die entwickelt werden sollen

Was sind die Grundbausteine von Scrum?

Das Scrum Framework beschäftigt sich hauptsächlich mit drei Bereichen: der Teamstruktur, den Events die während des Projekts abgehalten werden und den Artefakten, an welchen während des Projektes gearbeitet werden. Das gesamte Regelwerk ist im sogenannten Scrum Guide verfasst, einem Dokument welches nicht länger als einige Seiten ist.

Team

Die Teams sollten laut Scrum Guide aus maximal 10 Leuten bestehen. Ein solches Team baut sich aus einem Product Owner, einem Scrum Master und den Entwicklern zusammen.

  • Der Product Owner hat im Kern die Aufgabe, das sogenannte Product Backlog aktuell zu halten und stetig die User Stories zu priorisieren um sicher zu stellen, dass das Entwickler-Team an den richtigen Sachen arbeitet.
  • Der Scrum Master hingegen ist ein Servant Leader, welcher zur Aufgabe hat das Team zu begleiten, zu mehr Produktivität zu coachen und Hürden von Außerhalb zu beseitigen.
  • Das Entwickler-Team ist dafür zuständig in jedem Sprint ein nutzbares Produkt Increment fertig zu stellen.

Events

Scrum ist ein Integratives Projekt Management Framework, das bedeutet das Produkt wird in mehreren Stufen den sogenannten Sprints entwickelt. Innerhalb dieser Sprints gibt es verschiedene Termine, welche zur Koordination und Bearbeitung von Artefakten nötig sind. Der Scrum Guide definiert folgende Events:

  • Sprint: Ein Sprint dauert zwischen 1 und 4 Wochen. In dieser Zeit arbeitet das Entwicklerteam hauptsächlich an der Schaffung eines nutzbaren Produkt Increments.
  • Sprint Planning: Zu Anfang eines jeden Sprints kommen alle Team Mitglieder zu einem Sprint Planning zusammen, in welchem ein Sprintziel und ein Umfang der zu schaffenden Arbeit festgelegt wird.
  • Daily Scrum: Ist ein tägliches Meeting, welches nicht länger als 15 Minuten gehen sollte. Ziel des Meetings ist es, dass sich die Entwickler über den aktuellen Stand Ihrer Arbeiten austauschen und gegebenenfalls die Arbeit untereinander neu aufteilen
  • Sprint Review: Die Sprint Review findet immer zum Ende eines Sprints statt. Die Review bietet dem Team die Möglichkeit die Ergebnisse des Sprints zu präsentieren. Hierbei ist es erwünscht auch Stakeholder von außerhalb des Teams einzubinden um möglichst viel Feedback zu sammeln.
  • Sprint Retrospective: In der Retrospective wird dem Team einmal zum Ende des Sprints die Möglichkeit geboten, sich über mögliche Probleme im Sprint oder im Team auszutauschen. Der Scrum Master dient hier als neutraler Moderator.

Ein weiterer wichtiger Termin, welcher jedoch nicht im Scrum Guide klar definiert ist, ist das Refinement. Bei Ambient führen wir diesen Termin immer durch. Im Refinement werden vom Product Owner geschriebene User Stories optimiert und mit Story Points geschätzt.

Artefakte

In Scrum werden außerdem drei Artefakte definiert. Es handelt sich hierbei um Werte die geschaffen werden innerhalb der Sprints.

  • Product Backlog: Das Product Backlog ist eine Liste aus grob definierten User Stories, welche zusammen die Gesamtheit des Produktes darstellen. Mit der Arbeit daran wird ein Commitment über das Ziel des Produktes geschaffen.
  • Sprint Backlog: Das Sprint Backlog definiert ein Ziel für den jeweiligen Sprint und einen Plan für die Erreichung dieses Ziels. Mit der Arbeit hieran wird ein Commitment in Bezug auf das Sprint Ziel geschaffen.
  • Increment: Ein Increment beschreibt ein umgesetztes Feature welches das Product seinem Ziel näher bringt. Ein Increment kann nur abgenommen werden, wenn es der definition of done (Einem Regelsatz, welchen die Entwickler definieren) entspricht und vom Product Owner ausführlich getestet wurde.