Agilität im Spannungsfeld von Plan und Chance
Mehr als zehn Jahre nach dem Manifesto for Agile Software Development erfährt das Thema heute neuen Auftrieb. Vor allem der Punkt "Respondig to Change Over Following a Plan" spiegelt sich in moderner, agiler Softwareentwicklung wider. In digitalen Unternehmen müssen IT-Abteilungen mobiler, elastischer und auch agiler werden, um den wachsenden Anforderungen gerecht zu werden. Der Wunsch nach schnell sichtbaren Ergebnissen trägt agile Ansätze - Scrum, Feature Driven Development, Kanban oder Adaptive Software Development - zunächst in die Entwicklungsabteilungen. Von dort aus erobern sie weitere Bereiche. Agilität prägt so innerhalb kurzer Zeit das ganze digitale Unternehmen - gemeint sind damit Unternehmen, deren Kerngeschäftsprozesse nahezu komplett digitalisiert sind. Besonders Anwendungen des Mobile Computing und oberflächenintensive Lösungen erfordern kurze Entwicklungszyklen. Die Programmierer müssen Funktionen permanent an neue Anforderungen und Technologien anpassen.
- Erfolgsfaktoren für den Umstieg auf agile Methoden
Die agile Softwareentwicklung ist in IT-Großprojekten angekommen, die die Gestaltung von Produkten mit hohen Sicherheitsanforderungen zum Ziel haben. Voraussetzung ist ein umfassendes Change-Management, das sichere Beherrschen des agilen Methodenkoffers und eine systematische Qualitätssicherung. - Top-Management muss Commitment geben
- Alle an Produktentwicklung Beteiligten inklusive Produktmanagement, Marketing und Vertrieb einbeziehen
- Anforderungen der Fachbereiche integrieren
- Qualitätssicherung direkt zu Beginn des Software-Entwicklungsprozesses aufsetzen und kontinuierlich betreiben
- Anforderungen durch User-Stories unter Sicherheitsaspekten bewerten und priorisieren
- Beschleunigte und flexible Softwareentwicklung mit geeigneten Maßnahmen zur Qualitätssicherung gewährleisten
Die schnell sichtbaren Zwischenergebnisse in der Agilen Entwicklung tragen dazu bei, dass der Auftraggeber Schritt für Schritt eine immer klarere Vorstellung von der vollständigen Anwendung bekommt. Ein bereits funktionierender Teil der Software vermittelt ein konkretes Bild des Endproduktes.
Bei aller Begeisterung für Agilität zeigt der Blick in die Unternehmensrealität: Zahlreiche agile Projekte sind mit hehren Zielen gestartet; am Ende waren das Beharrungsvermögen von Personen und Prozessen und die "Plan-Gravitation" aber stärker. Die Agilisierung von Anwendungsentwicklung, Betrieb und anderen Abteilungen ist häufig ein langwieriger und schwieriger Veränderungsprozess.
Agile Entwicklungskonzepte eignen sich nicht für jede Form von Software und jedes Unternehmen: Nicht für Software, die sicherheitskritisch ist, die von Hunderten Programmierern erstellt wird, die in Unternehmen mit "ausgewiesener Schuldzuweisungskultur" entwickelt wird oder an der technisch geprägte Entwickler ohne Branchenverständnis arbeiten.
Für Unternehmen geht es nicht um die Frage, ob agile Softwareentwicklung sinnvoll ist, sondern um das geeignete Maß an Agilität (siehe Balancing Agility and Discipline: A Guide for (text only) by B.Boehm.R.Turner). Gesucht wird "gezähmte Agilität". Eine der wichtigsten Fragestellungen jenseits der rein technischen Handhabung von Agilität ist, wie sich agile Vorgehensmodelle kommerziell niederschlagen.