10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden? Stefan Roock stefan.roock@akquinet.de Hintergrund 1/2 Senior IT-Berater bei der akquinet AG extreme Programming seit Anfang 1999, dann Scrum und FDD dazu Kommerzielle Projekte 2 bis 30 Entwickler, 11 Wochen bis 5 Jahre Große Erfolge... sehr kurze Projektlaufzeiten Software mit hohem Nutzen für Anwender und Unternehmen engagierte Entwickler exzellente Planbarkeit und Controlling 10 Jahre agile Softwareentwicklung 2 1
Hintergrund 2/2... und herbe Rückschläge degenerierter Code, Strukturverlust der Architektur, steile Aufwandskurve Umfeld nicht bereit Kunde mit seiner geänderten Rolle überfordert Risikobereitschaft als Bumerang 10 Jahre agile Softwareentwicklung 3 Timeline 1/4 1986: Scrum C3- Projekt beginnt XP Crystal- Clear Begriff XP zum ersten Mal in der Öffentlichkeit (OOPSLA) Die Mehrheit ist entsetzt! 1995 1996 1997 1998 Ward Cunningham: EPISODES Coad / De Luca: FDD Smalltalk- Refactoring- Browser Umfeldfragen ungeklärt: Festpreise, große Projekte, 10 Jahre agile Softwareentwicklung 4 2
Timeline 2/4 extreme Programming explained 1. XP- Conference in Sardinien Kerth: Project Retrospectives Agiles Manifest SCRUM- Buch 1999 2000 2001 JUnit Beck: 80% XP bringt nur 20% des Nutzens ASD-Buch C3-Projekt beendet Cockburn: Agile Software Development 10 Jahre agile Softwareentwicklung 5 Timeline 3/4 Bücher, Bücher, Bücher Lean Software Development The Eclipse Way Zweite Auflage extreme Programming explained Sabre: 42% produktiver, nur noch 20% der Fehler 2002 2003 2004 V-Modell XT FDD- Buch XP-Gurus treten in den Jeder ist Hintergrund agil. 10 Jahre agile Softwareentwicklung 6 3
Jede Java- IDE enthält JUnit & Refactorings Timeline 4/4 Microsoft macht Scrum Unittesting in Groovy integriert Google entwickelt agil JAX-Konferenz mit Agility Day 2005 2006 2007 Standish Group empfiehlt agile Methoden Umfeldfragen im Wesentlichen geklärt SAP macht Scrum 10 Jahre agile Softwareentwicklung 7 2005: Standish-Group: Chaos-Report 10 Jahre agile Softwareentwicklung 8 4
Diskussionsschwerpunkte Technik (Unit-Testen, Refactoring ) Management (Tracking, Schätzen ) Kundenrolle (Nutzenorientierung, Planung) 1999 2007 10 Jahre agile Softwareentwicklung 9 Die Verantwortlichkeiten Kunde 1. Anforderungen 2. Aufwandsschätzung Entwickler 3. Priorisierung 4. Funktionalitäten Verantwortlich für Geschäftswert Verantwortlich für Technologie 10 Jahre agile Softwareentwicklung 10 5
überfordern viele Kunden Kunde Mit agil können kurze Releasezyklen realisiert werden. Damit kann der Kunde schnell Nutzen aus seinen Investitionen ziehen. These: Agile Projekte bieten den Kunden Welcher Kunde Möglichkeiten, kann Nutzen mit seriös denen berechnen und dann noch vorher? die Kunden gar nichts Welcher Kunde anfangen schafft eine können. fachlich sinnvolle Projektplanung, die Einzelreleases sinnvoll ordnet? Verantwortlich für Geschäftswert 10 Jahre agile Softwareentwicklung 11 überfordern viele Teams Teams sollen den Entwicklungsprozess selbst anpassen. Dazu ist ständige selbstkritische Reflektion über die eigene These: Arbeit notwendig. Viele Arbeit wird ständig Entwicklungsteams (minimal) reorganisiert. nehmen den Agile Techniken wie inkrementeller Entwurf, Entwicklungsprozess nicht testgetriebene Entwicklung sind sehr in Verantwortung. anspruchsvoll. Entwickler Verantwortlich für Technologie 10 Jahre agile Softwareentwicklung 12 6
Was wir wirklich brauchen! Der Kunde braucht professionelle Unterstützung, um seine Rolle in agilen Projekten wahrzunehmen. Einen Quantensprung schaffen wir nur, wenn wir dem Kunden dort methodische Unterstützung bieten können. Entwicklungsteam müssen lernen, ihren Entwicklungsprozess selbst anzupassen. 10 Jahre agile Softwareentwicklung 13 Diskussionsschwerpunkte Technik (Unit-Testen, Refactoring ) Management (Tracking, Schätzen ) Kundenrolle (Nutzenorientierung, Planung) Organisation von Unternehmen 1999 20XX 10 Jahre agile Softwareentwicklung 14 7
Fazit Gut, dass es agile Methoden gibt. Positive Einflüsse der agilen Methoden untereinander und auf reichhaltige Methoden. Agil entwickelt sich weiter, wird aber auch unschärfer. Agil bedeutet immer noch harte Arbeit und umdenken (XP mehr als Scrum). Die Potenziale von agil werden kaum ausgenutzt. Agil betrifft neben Entwicklern auch Manager, Kunden und Anwender. 10 Jahre agile Softwareentwicklung 15 Schluss-Satz In zwanzig Jahren wird man über Wasserfall-Integration und Arbeiten ohne Refactoring lächeln, wie wir heute über Compiler lächeln, die Nachts im Batch laufen. (Vermutung Jens Coldewey) 10 Jahre agile Softwareentwicklung 16 8
Vielen Dank für die Aufmerksamkeit Noch Fragen? 10 Jahre agile Softwareentwicklung 17 9