Softwareentwicklung: Scrum: Stärken und Schwächen eines Vorgehensmodells

Jedes Softwareentwicklungsprojekt sieht hinsichtlich Größe, Komplexität oder verwendeter Technologie anders aus. Die zahlreichen Vorgehensmodelle geben unterschiedliche Antworten auf Fragen zur Gewährleistung der Qualität, zum effektiven Einsatz der Entwickler und zur transparenten Organisation. Eine gewichtige Stimme hört auf den Namen Scrum.

Kein Projektmanager

Scrum funktioniert nur, wenn Teams sich dem Ansatz komplett verpflichten. Es gibt nicht viele verbindliche Praktiken unter Scrum, aber in Kombination und bei strikter Einhaltung sorgen sie für qualitativ hochwertige Ergebnisse. Viele Praktiken, etwa das tägliche Scrum Meeting oder die Scrum Wall, können nicht leicht in einer bestehenden Firmenkultur akzeptiert werden. Keine der Rollen von Scrum, auch nicht die des sogenannten Scrum Master, entspricht beispielsweise der des Projektmanagers. Unter Scrum organisiert sich ein Team selbst und bringt die Verantwortung für ein auslieferungsfähiges Produkt aus sich selber hervor. Die Aufgaben des Projektmanagements sind hier auf drei Rollen aufgeteilt. Die Kontrolle des Fortschritts und der Zielerreichung ist Aufgabe der Product Owner. Fehlerbehebung und die Einschätzungen der Technologiequalität übernimmt das Entwicklungsteam. Prozesseffizienz und Teamunterstützung sind Aufgaben des Scrum Master. Eine Aufteilung, die erst einmal akzeptiert werden will.

Der Ansatz schlägt daher nicht nur auf die Entwicklung durch. Er beeinflusst auch andere Geschäftsbereiche. Fachabteilungen oder Anwender, die als Product Owner auftreten, müssen für Fragen aus der Entwicklung auch tatsächlich zur Verfügung stehen. Und dies nicht erst dann, wenn Zeit dafür ist. Üblicherweise benötigen Entwicklungsteams im Schnitt mindestens eine Stunde am Tag, um ihre Fragen an die Anwender zu stellen. Dazu kommt die Zeit für andere projektbezogene Aufgaben. Letztlich müssen diese zu 100 Prozent für das Projekt verfügbar sein.

Unter Scrum ist es auch wichtig, dass die gemeinsame Arbeit am Code effektiv erfolgt. Kleine, schnelle Zyklen und immer neue Funktionalitäten dürfen die Produktqualität nicht gefährden. Daher muss jedes Team gut ausgestattet und erfahren sein. Testgetriebene Entwicklung, Konfigurationsmanagement oder automatisierte Testverfahren müssen reibungslos funktionieren.