Viele Unternehmen sind mit ihrer Software-Entwicklung unzufrieden. DevOps und Scrum können die Ergebnisse verbessern, erfordern aber viel Disziplin. [...]
Scrum sorgt dafür, dass jede Abteilung in der Lage ist, parallel zu einer anderen am selben Projekt zu arbeiten. Schlüssel dazu ist die Reduzierung von Komplexität. Das geschieht erstens durch ständige Feedbackschleifen, die alle Beteiligten kontinuierlich auf den gleichen Stand bringen. Zweitens werden die angestrebten Funktionalitäten eines Programms ständig überprüft und die Frage gestellt: ‚Brauchen wir dieses oder jenes Feature Stand heute wirklich noch?‘ Drittens liegen sämtliche Anforderungen an das Produkt nicht schon zu Beginn und für immer fest, sondern sie werden mit jeder Teillieferung neu bewertet und wenn erforderlich angepasst.
Ein solch agiles Vorgehen hat gar nicht den Anspruch, alle Eventualitäten im Vorhinein zu planen, sondern es geht von ständigen Anpassungen als Normalfall aus. Agil mit Scrum zu entwickeln bedeutet anders gesagt, die Menschen in den Mittelpunkt zu stellen. Und zwar erstens den Kunden, der ein optimales Produkt bekommen soll, und zweitens das Entwicklungsteam, für das so effizientes und zugleich kreatives Arbeiten ermöglicht werden soll. Unterstützt werden kann das ganze durch Automatisierung von Prozessen und durch die Verwendung von standardisierten Entwicklungstools.
CARS.COM SCHEITERTE FAST
Cars.com zum Beispiel, eine Online-Autohandelsplattform aus Chicago mit mehr als elf Millionen Nutzern monatlich, hat in Zusammenarbeit mit IBM seinen Entwicklungsprozess komplett umgestellt. Zuvor lief es hier wie überall: Monatelange Planung für jedes Projekt, endlose Meetings mit entsprechenden Verzögerungen bei der Umsetzung. Zudem enthielt der Prozess viele manuelle Schritte, was nicht nur zeitaufwändig, sondern auch extrem fehlerträchtig ist. Entwicklergruppen konfigurierten Softwaremodule von Hand, nutzten dabei für die Dokumentation ganz unterschiedliche Programme wie Word oder Excel.
Durch diese ineffizienten Prozesse dauerte jede Konfiguration tagelang, Entwickler arbeiten phasenweise auch nachts und am Wochenende. Um hier einen Schritt voran zu kommen, engagierte Cars.com IBM und sein Partnerunternehmen Ascendant Technology. Mit Hilfe des ‚IBM Rational Automation Framework‘ und anderer Tools entstand eine automatisierte Entwicklungs-Architektur, die Cars.com ein agiles Vorgehen bei zukünftigen Entwicklungsarbeiten ermöglicht.
Der größte Teil der manuellen Schritte entfällt, Tests können jetzt automatisiert an verschiedenen Stellen des Prozesses ohne großen Aufwand durchgeführt werden. Dadurch und durch eine Fülle weitere Maßnahmen brauchen Entwicklungsprozesse nur noch ein Viertel der vorherigen Zeit, Cars.com ist in der Lage, 300 Verbesserungen in seinen Anwendungen pro Jahr umzusetzen statt den früheren 40.
AGILE ENTWICKLUNG ERFORDERT KULTURWANDEL
Abgesehen von diesem Beispiel, bei dem die Automatisierung vieler kleiner Schritte im Mittelpunkt stand, bedeutet agile Softwareentwicklung bei größeren Projekten einen kompletten Kulturwandel. Die Beteiligten müssen sich von dem Konzept verabschieden, am Ende genau das Ergebnis erzielen zu wollen, das am Anfang, beim Formulieren der Roadmap, ins Auge gefasst worden war. Stattdessen sollte das Motto lauten: Pläne sind dazu da, sie mehrfach zu ändern. Funktionieren kann das nur, so paradox es klingt, mit maximaler Disziplin. Denn Agilität funktioniert nur, wenn Feedbackschleifen und Test genau geplant werden und sich jeder an diese Pläne hält.
* Christoph Lixenfeld ist Redakteur der deutschen CIO.
Be the first to comment