Scrum Entwicklung

Die Scrum Entwicklung bietet modernen Softwareunternehmen die besten Möglichkeiten eines agilen Projektmanagements und erlaubt eine effiziente und effektive interne Zusammenarbeit im Entwicklungsteam und extern mit Kunden und Stakeholdern.
Ein Scrum Team bei der Sprint Planung mit Laptop und Zetteln an der Wand, die das weitere agile Vorgehen planen.
© Pixel-Shot

Scrum Entwicklung Definition

Was ist Scrum?

Scrum (engl.) heißt ĂŒbersetzt „GedrĂ€nge“ und ist ein Rahmenwerk im Projektmanagement, welches in den 1990er Jahren von Jeff Sutherland und Ken Schwaber fĂŒr die agile Softwareentwicklung entwickelt wurde, sich aber wegen seiner sehr allgemeinen Beschreibung leicht auf andere Bereiche und Unternehmen anderer Branchen ĂŒbertragen lĂ€sst und mittlerweile in vielen Branchen zum Einsatz kommt. Dabei handelt es sich nicht um einen bestimmten Prozess oder Technik, sondern ist als Regelwerk zu verstehen, innerhalb dessen Produktionsprozesse umgesetzt werden. Durch die bewusste Trennung dieses Rahmenwerkes von konkreten Techniken bleibt in der Anwendung viel Raum fĂŒr die individuelle Umsetzung. Obwohl Scrum eigentlich vor allem Prozesse betrifft, wird es dennoch meist dem Projektmanagement zugeordnet.

Allgemein gesehen ist die Zielsetzung von Scrum jedoch, komplexe Aufgaben, die bei der Umsetzung von (Software-)Projekten anfallen, effektiver und effizienter zu bewĂ€ltigen und flexibel auf spontane Ereignisse im Projektverlauf reagieren zu können. Viele Unternehmen und Projektteams, vor allem außerhalb der Softwareentwicklung, lassen sich auch von Scrum inspirieren und ĂŒbernehmen nur einzelne Dinge wie den Sprint ohne alle Regeln im Detail zu befolgen. Zu beobachten ist jedoch eine starke Tendenz, agile Vorgehensweisen mehr und mehr in GeschĂ€ftsprozesse zu implementieren.

Jetzt als Podcast hören!

Zum Abspielen ist das Laden des externen Spotify-Players erforderlich. Dabei können personenbezogene Daten verarbeitet werden.

Scrum Ursprung

Inhaltlich ist die Scrum Methode eine Umsetzung der Lean Production, welche bereits seit den 1920er Jahren durch den Automobilhersteller Toyota verfolgt wird. Mit dem Toyota Produktionssystem konnte die Massenfertigung durch ressourcensparende, flexible Fertigungssysteme ersetzt werden.

Der Scrum Begriff fand erstmals 1986 in einer Publikation des UniversitĂ€tsprofessors Ikujirƍ Nonaka ErwĂ€hnung, welcher als MitbegrĂŒnder des Wissensmanagements gilt. In seiner Publikation The new new product development game deklariert er Schnelligkeit und FlexibilitĂ€t in der Produktion als die wichtigsten Anforderungen der modernen Zeit und stellt einen Vergleich zum Rugby auf: Hier bewegen sich kleine Teams in einem dichten GedrĂ€nge (scrum) fort und werfen sich den Ball immer wieder zu. Dieses Vorgehen werde, ĂŒbertragen auf eine Unternehmenskultur, den heutigen Wettbewerbsanforderungen von Unternehmen besser gerecht.

Basierend auf diesen AnsÀtzen arbeiteten die Softwareentwickler Jeff Sutherland und Ken Schwaber das Scrum Prinzip heraus, welches sie 1995 auf einer Konferenz vorstellten und erfassten die Prinzipien des Vorgehens 2001 in ihrem agilen Manifest. Alle Begriffe und Regeln des Rahmenwerks sind in ihrem Scrum Guide festgehalten, der stets erweitert wird.

Klassische vs. agile Softwareentwicklung

Bis vor ein paar Jahren galten vor allem Methoden wie das sogenannte Wasserfallmodell als die klassische Herangehensweise im Management von Projekten bzw. Prozessen in der Softwareentwicklung. Beim Wasserfallmodell werden Aufgaben sequentiell von einer Phase zur nĂ€chsten abgearbeitet und am Ende ein Final Product steht. Dies setzt allerdings voraus, dass die Anforderungen an das Softwareprodukt im ersten Schritt bereits allumfassend beschrieben werden mĂŒssen, was immer wieder zum Scheitern von Projekten fĂŒhrt, da sich im Laufe der Entwicklung immer neue Anforderungen und Problemstellungen ergeben. Agiles Projektmanagement erlaubt es, auch mit unschĂ€rferen Anforderungen zu beginnen und diese im Projektverlauf immer wieder nachzujustieren. Diese Art von Projektmanagement ist vor allem mit der Scrum Methode möglich.

Scrum Methode

Der Grundgedanke der Scrum Methode ist, einen Projektplan nicht linear und in voneinander getrennten Abteilungen umzusetzen, sondern von vornherein in multidisziplinÀren Teams, die parallel ihre Arbeit beginnen und sich stetig austauschen und gegenseitig beeinflussen. Dies wird durch eine bestimmte Rollenverteilung, Zeiteinteilung und Meetings erreicht.

Scrum Rollen

Das Scrum Entwicklungsmodell sieht insgesamt drei Rollen vor: Product Owner, Entwicklungsteam und Scrum Master. Product Owner und Scrum Master sind dabei in Einzelbesetzung vertreten, das Entwicklungsteam besteht aus mehreren Personen. Insgesamt belĂ€uft sich die GrĂ¶ĂŸe von einem Scrum Team in etwa auf 5-9 Personen. Skaliert wird, indem fĂŒr grĂ¶ĂŸere Projekte mehrere Teams gebildet werden.

Product Owner

Product Owner sind als Fachleute verantwortlich fĂŒr die Anforderungen an das Produkt und das Konzept des Projekts. Sie stellen die QualitĂ€t des Projekts mit dem Ziel einer Wertmaximierung des Endproduktes sicher. Dazu erstellen Product Owner einen sogenannten Backlog. In einem Backlog oder genauer gesagt im Product Backlog sind alle Anforderungen bzw. Requirements an das Projekt festgehalten, welche vom Product Owner zu Aufgaben, sogenannten Backlog items, umformuliert werden. Product Owner sind fĂŒr die Strukturierung und Priorisierung der Aufgaben zustĂ€ndig, jedoch nicht, in welcher Reihenfolge oder durch welches Teammitglied sie zu bearbeiten sind. Dabei mĂŒssen Product Owner eine Transparenz und VerstĂ€ndlichkeit des Backlogs und der enthaltenen Aufgaben gewĂ€hrleisten. In der Regel stehen Product Owner, sofern es sich um einen Kundenauftrag handelt, auch mit Kunden in Kontakt und sind hier fĂŒr eine reibungslose Kommunikation zustĂ€ndig. Stakeholder erhalten auch Zugriff auf den Backlog, um den Entwicklungsprozess ab der ersten Minute mitzuverfolgen und ggf. ÄnderungswĂŒnsche an das Produkt sofort anzubringen.

Entwicklungsteam

Das Development Team oder auch Entwicklungsteam, die einzige der drei Rollen, die durch mehrere Mitglieder des Scrum Teams besetzt wird, ist fĂŒr die Entwicklung des Produkts anhand der festgelegten Aufgaben zustĂ€ndig. Im Unterschied zum klassischen Projektmanagement, bei dem die Projektleitung die Zuweisung von Aufgaben ĂŒbernehmen wĂŒrde, organisiert sich ein agiles Entwicklungsteam im Rahmen von Scrum selbststĂ€ndig, wĂ€hlt sich die Aufgaben eigenverantwortlich aus dem Backlog fĂŒr den aktuellen Sprint und setzt diese ins VerhĂ€ltnis zu den Aufgaben der anderen Teammitglieder. Abgesehen von fachlichen Spezialisierungen gibt es in einem Entwicklungsteam keine Hierarchien.

Scrum Master

Scrum Master organisieren und moderieren sĂ€mtliche Scrum Meetings und behalten stets die Scrum Regeln und Rollen im Blick, verhindern VerstĂ¶ĂŸe und achten darauf, dass Deadlines und die Zeitspannen von einem Sprint oder Meetings eingehalten werden. Sie gehen außerdem sicher, dass alle Beteiligten das Scrum Prinzip verstehen und sich ĂŒber die Regeln bewusst sind. Sie schaffen mögliche Hindernisse aus dem Weg und identifizieren Möglichkeiten zur ProduktivitĂ€tssteigerung des Entwicklungsteams. Je nach GrĂ¶ĂŸe des Unternehmens ĂŒbernehmen sie manchmal auch das Coaching des Entwicklungsteams in Bezug auf Selbstorganisation und ĂŒbergreifende FunktionalitĂ€t. Auch Aufgaben im Bereich Management oder banale Aufgaben wie die Sicherstellung eines angemessenen Arbeitsplatzes mit vollstĂ€ndiger und funktionierender Hardware und Arbeitsmitteln fĂ€llt in den Aufgabenbereich vom Scrum Master.

[youtube:_GqoL4M-Xwk]

Sprint

Um das Produkt im Gegensatz zum Wasserfallmodell, bei dem die Software in einem Wurf entsteht, agil umzusetzen, wird die Entwicklung in mehreren kurzen Zyklen eingeteilt. Diese Zyklen nennen sich Iterationen oder Sprints. Ein Sprint hat eine feste LĂ€nge, in der Regel etwa zwei bis vier Wochen, und schließen direkt an den vorhergehenden an. Jeder Sprint hat einen eigenen Sprint Backlog. LĂ€uft ein Sprint, so dĂŒrfen keine neuen Anforderungen an das Team weitergegeben, wohl aber der Umfang angepasst werden. Am Ende von einem Sprint steht ein Teilprodukt, auch Inkrement genannt, ein lieferfĂ€higes Zwischenergebnis der Software, welches Kunden oder anderen Stakeholdern im Rahmen von einem Sprint Review prĂ€sentiert werden kann. Dies hat den Vorteil, dass Kunden und Stakeholder den Fortschritt jederzeit mitverfolgen und das Zwischenergebnis mit ihren eigenen Vorstellungen abgleichen und ggf. einlenken können.

Ein agiles iteratives Vorgehen nach Sprints enthÀlt folgende Teilschritte:

  • Sprint Planung: Erfassen der Anforderungen fĂŒr den aktuellen Sprint im gesamten Team und Erstellung eines Sprint Backlogs inkl. einer „Definition of Done“, sodass alle ein klares Bild vom Inkrement haben
  • Daily Scrum Meeting: TĂ€gliche Sitzung zur Erfassung des aktuellen Standes, Problemen und dem weiteren Vorgehen
  • Sprint Review: PrĂ€sentation des Teilprodukts am Ende eines Sprints vor dem Kunden und ggf. Anpassungen des Product Backlogs
  • Sprint Retrospective: Reflexion des beendeten Sprints innerhalb des Scrum Teams und VerbesserungsvorschlĂ€ge fĂŒr den kommenden Sprint

Scrum Meeting

Daily Scrum

Beim Daily Scrum handelt es sich, wie der Name schon sagt, um eine tĂ€gliche Sitzung im gesamten Team, die vom Scrum Master organisiert und moderiert wird, in der alle Teammitglieder im Scrum Team prĂ€sentieren, was sie seit dem letzten Meeting geschafft haben und woran sie am heutigen Tag arbeiten werden. DarĂŒber hinaus sollen Probleme identifiziert werden, die möglicherweise den Fortgang hindern und entsprechende Gegenmaßnahmen geplant werden. Das Daily Scrum Meeting ist einer Zeitbegrenzung von 15 Minuten unterlegen, welche der Scrum Master stets im Blick behĂ€lt.

Agile Softwareentwicklung Scrum bei TenMedia

TenMedia ist eine dynamische Software Agentur in Berlin Mitte. Wir sind der Überzeugung, dass der Digitalisierung von Unternehmen nicht mit Standardsoftware oder einem Code von der Stange begegnet werden kann. Um nicht nur den Anforderungen unserer Kunden, die hauptsĂ€chlich aus kleinen und mittelstĂ€ndischen Unternehmen, öffentlichen Auftraggebern und Start-ups bestehen, gerecht zu werden, sondern auch unsere internen Prozesse zu optimieren, setzen wir auf die agile Entwicklung mit Scrum. Von der Datenbank ĂŒber Online-Portale bis hin zu umfangreichen Apps sind alle unsere Produkte Individualsoftware. Auf kurzfristige Änderungen können wir flexibel reagieren und arbeiten auf Augenhöhe eng mit unseren Kunden zusammen dank Scrum Entwicklung. Berlin bietet zudem ein kreatives Umfeld fĂŒr eine Digitalagentur und die besten Anbindungen, um auch einen persönlichen Austausch mit Kunden zu ermöglichen.