Wir haben das Basiswissen zum Thema Agile für Sie zusammengefasst. Egal ob Sie Agile-Greenhorn oder -Veteran sind: Die folgenden zehn Fragen und Antworten geben einen Überblick über das grundlegende Wissen zum Thema. [...]
Das Wörtchen „agile“ entstammt dem relativ weiten Feld des Projektmanagements und bezeichnet eine Methode desselbigen. Hierbei sollen kurze Entwicklungszyklen – auch Sprints genannt – die kontinuierliche Verbesserung bei der Entwicklung eines Produkts oder Services gewährleisten.
Methoden des stufenweisen Projektmanagements existieren bereits seit 1957. Die erste tiefgehende Diskussion zum Thema Agile wurde in den 1970er Jahren von Winston Royce angestoßen, der damals ein Thesenpapier zur Entwicklung umfassender Software-Systeme veröffentlicht hat.
- 1. Kundenzufriedenheit hat stets oberste Priorität. Diese wird durch eine schnelle und fortwährende Auslieferung erreicht.
- 2. Sich verändernde Rahmenbedingungen werden in jeder Stufe des Entwicklungsprozesses mit einbezogen, um den Kunden mit einem Wettbewerbsvorteil auszustatten.
- 3. Ein Produkt oder Service wird mit höherer Frequenz ausgeliefert.
- 4. Stakeholder und Entwickler arbeiten auf täglicher Basis eng zusammen.
- 5. Alle Stakeholder und Teammitglieder bleiben stets motiviert, um optimale Projektergebnisse zu gewährleisten. Die Teams werden mit allen notwendigen Tools unterstützt. Darüber hinaus genießen sie das Vertrauen, dass die Projektziele erreicht werden.
- 6. Face-to-Face-Meetings sind die effizienteste und effektivste Form, um den Projekterfolg sicher zu stellen.
- 7. Ein fertiges, funktionierendes Produkt ist das ultimative Messinstrument für Erfolg.
- 8. Eine nachhaltige Entwicklung wird durch agile Prozesse gewährleistet, wodurch die Entwicklungsteams und Stakeholder dazu befähigt werden, ein konstantes Tempo zu halten.
- 9. Die Agilität wird durch einen fortlaufenden Fokus auf technische Exzellenz und angemessenes Design gesteigert.
- 10. Simplizität ist ein wesentliches Element.
- 11. Sich selbst organisierende Teams entwickeln mit hoher Wahrscheinlichkeit die besten Architekturen und Designs und werden den Anforderungen am ehesten gerecht.
- 12. Die Teams überprüfen ihre Arbeit in regelmäßigen Intervallen und verbessern die Effizienz durch Feintuning.
Seit die Verfasser des „Agilen Manifests“ im Jahr 2001 den klassischen Phasenmodellen wie Wasserfall und V-Modell den Kampf angesagt haben, erlebt die Softwareentwicklung eine tief greifende Veränderung. Mittlerweile ist Agilität fast zu einem Hype-Begriff geworden. Darüber gerät gelegentlich aus dem Blick, was die Methode tatsächlich leisten kann und an welchen Stellen das ursprüngliche Dokument von 2001 aufgrund von Projekterfahrungen aus mehr als einer Dekade präzisiert werden sollte. Hier die Knackpunkte für agile Entwicklungsteams:
- Crossfunktionale Teams aus Spezialisten und Generalisten bilden
- Teamübergreifende Governance sichern
- Verantwortungsvolles und pro-aktives Handeln der agilen Teammitglieder
- Ständige Kommunikation innerhalb und zwischen Sprint-Teams
- An agiler Community aktiv teilnehmen und auf Best Practices setzen
- Verständigung über technisches Rahmenwerk (Architektur) herstellen
- Bereitstellung von Testdaten und Ausführung von Integrationstests sichern
- Dokumentation im Hinblick auf Compliance nicht vernachlässigen
Obwohl das Agile-Prinzip originär der Software-Industrie entstammt, haben inzwischen viele Branchen das Agile-Prinzip für die Entwicklung ihrer Produkte und Services übernommen. Warum? In erster Linie wegen der höchst kollaborativen und effizienzsteigernden Wirkung dieser Methode. Auch in den Bereichen Marketing, Bauwesen, Bildung und Finanzwesen wird längst agil gearbeitet.
Ursprünglich sollte der Ansatz den Prozess der Softwareentwicklung vereinheitlichen und verbessern, um schneller auf Probleme und/oder Fehler reagieren zu können. Im Gegensatz zum traditionellen Wasserfallmodell befähigt der agile Ansatz Entwickler und Teams durch iterative und interaktive Sprints ein besseres Produkt abzuliefern. Mit den steigenden Erwartungen der Kunden wird es immer wichtiger Projektmanager zu verpflichten, die die beste Methodik zur Ausführung eines Projekts kennen und auch umsetzen. Nur so kann ein Wettbewerbsvorteil erlangt werden.
Die traditionellen – eher schwerfälligen – Methoden des Projektmanagements erfordern in der Regel, dass das komplette Team in jeder Phase des Projekts zu einem Meeting zusammenkommen muss und jedes einzelne Projektziel diskutiert wird. Beim agilen Ansatz setzt man hingegen auf kleinere, fokussiertere Teams, die sich in regelmäßigen Abständen zusammenfinden, um ganz spezifische Ziele in Angriff zu nehmen.
Agile ist inzwischen extrem populär geworden und hat sich rasant verbreitet. Die Methodik bietet für Projektteams, Projektleiter, Kunden und Stakeholder viele Vorteile. Hier die wichtigsten im Überblick:
- Schnellere Auslieferung von Lösungen
- Weniger Ausschuss durch Minimierung von Ressourcen
- Erhöhte Flexibilität und Anpassungsfähigkeit
- Erhöhte Erfolgsaussichten durch stärkere Fokussierung
- Schnellere Reaktionszeiten
- Schnelleres Identifizieren von Problemen und Fehlern
- Optimierter Entwicklungsprozess
- Leichteres, übersichtlicheres Framework
- Optimale Projektkontrolle
- Erhöhte Fokussierung auf spezifische Kundenbedürfnisse
- Mehr Kollaboration und Feedback
Natürlich eignet sich der Agile-Ansatz nicht für jedes Projekt gleichermaßen. Denn während des Entwicklungsprozesses fokussiert der Agile-Ansatz Entwickler, Projektteams und Kundenziele – aber nicht notwendigerweise die (End) User Experience. Zudem hat es agile wegen seiner weniger formellen und flexibleren Prozesse unter Umständen in großen, traditionell geprägten Konzernen schwer.
Es besteht die Möglichkeit, Hybrid-Lösungen zu erzeugen. Das kann dafür sorgen, dass die Flexibilität weiter erhöht wird und ist im Einzelfall eventuell empfehlenswert. Um herauszufinden, welche Methode(n) am besten geeignet sind, empfiehlt sich Due Diligence.
Innerhalb des „Agile-Universums“ gibt es etliche populäre Ansätze und Methoden. Hier eine Übersicht – geordnet nach Beliebtheit:
- Scrum
- Kanban
- Lean
- Dynamic System Development Model
- Extreme Programming
- Crystal
- Adaptive software development
- Agile Unified Process
- Crystal Clear methods
- Disciplined agile delivery
- Feature-driven development
- Scrumban
- Rapid Application Development
In einem von zunehmenden Wettbewerb und Geschwindigkeit geprägten Business-Umfeld bietet Agile zahlreiche Vorteile – bei gleichzeitig überschaubaren Nachteilen. Dass die Methodik mittlerweile in zahlreichen Branchen zum Einsatz kommt, spricht für ihre Attraktivität. Agile ist also alles andere als ein vorübergehender Trend – Zukunftssicherheit gewährleistet!
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. Hier die wichtigsten Erfolgsfaktoren für den Umstieg auf agile Methoden:
- 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
* Florian Maier ist Redakteur der Computerwoche. Dieser Artikel basiert auf einem Beitrag unserer US-Schwesterpublikation cio.com.
Be the first to comment