? SAQ Zug um Zug, Agilität: Was bringen Sie mit? Was wissen Sie schon? Was wollen Sie heute Abend mitnehmen? Folie 1
hat sich als Projektleiter während acht Jahren dafür eingesetzt, Ende Iteration lauffähige Software dem Auftraggeber zu demonstrieren. Projektideen auf einem Notizzettel wie auch in über 150seitigen Pflichtenheften konnte er agil umsetzen. Dabei hat er auch viel unagiles erlebt. Seit rund einem Jahr führt Herr Maduz seine Mitarbeiter als Business Unit Leiter. ist Software Architekt bei Zühlke Engineering AG. In dieser Rolle erlebt er viele Projekte, mit herkömmlichen und agilen Vorgehensweisen. Diese Projekte sind vor allem im industriellen Umfeld angesiedelt. Herr Tobler unterrichtet unter anderem agile Softwareentwicklung an Fachhochschulen. Folie 2
Agenda Die 3-Tier Architektur der Agilität Agiles Manifesto Prinzipien für Agile Softwareentwicklung Übung Agile Prozesse Extreme Programming Praktiken, konkrete Umsetzung Planen - Plan Programmieren - Do Liefern - Check Verbessern - Act Einfluss auf ihr aktuelles Projekt: Diskussion Folie 3
Die 3-Tier Architektur von agilen Vorgehensmodellen Lean Management Operational Management Engineering Practices Agile Manifesto Werte Prinzipien Praktiken extreme Programming Folie 4
Das Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Folie 5 [www.agilemanifesto.org]
Agilität heisst lauffähige Software liefern Lean Management strategisch Vision Release-bezogen Einfachheit Operational Management iterativ Fortschritt / Reflektion Engineering Practices täglich stetig Priorisierung Kommunikation Selbstorganisation Folie 6
Das Ballspiel Zusammenarbeit erfahren Folie 7
Das Ballspiel Zusammenarbeit erfahren Ziel: In 2 Minuten soviele Bälle wie möglich durchbringen Regeln: Startpunkt = Endpunkt = 1 Person Jeder muss den Ball einmal berührt haben Ball darf nicht dem direkten Nachbar zugeworfen werden Ball muss geworfen werden (nicht weitergeben) 4 Durchgänge: 1 Minute Optimierung durch Team + Schätzung abgeben 2 Minuten Spiel Folie 8
Das Ballspiel Debriefing Welches war die beste Iteration? Welche Information floss rein, Welche Resultate kamen raus? Wie haben Sie sich intern organisiert? Folie 9
Der agile Workflow Regeln Requirements Feedback Act Plan Do Check Teilresultat iterieren Folie 10
Agile Prozesse Folie 11
Agile Prozesse Welche agilen Prozesse kennen Sie? Unterschied zu herkömmlichen Prozessen? Herkömmliche Prozesse Heavy Weight-Prozessdefinition DVD Tailoring vor Projektbeginn Durch firmenweite Prozessgruppe Gefahr der Bürokratie Agile Prozesse Low Weight-Prozessdefinition Kleines Buch Erweiterung während Projekt Durch Entwicklungsteam Gefahr des Cowboy-Codings Folie 12
Agile Prozesse Von The State of Agile Development Survey June/Juli 2007, VersionOne Folie 13
Wo werden agile Prozesse angewandt? RUP XP Scrum Folie 14 12 February 2008
XP und Scrum Extreme Programming XP Jetzt Scrum SAQ Zug um Zug 29. Januar 2009 Au Premier, Bahnhof Zürich Folie 15
extreme Programming Die Mutter aller agilen Praktiken Ich schaue mal, was die da wollen und der Rest von euch beginnt zu programmieren! Folie 16
Planen PLAN Customer Tests Planning Poker Small Iterations Folie 17
Planen PLAN Kleine, überschaubare Einheiten planen Das Team erstellt die Schätzung Planning Poker Planning Game Was wollen wir erreichen am Ende der Einheit? Was machen wir als nächstes? Das Team committet sich für den Plan Timeboxed: Am Schluss wird geliefert Folie 18
Programmieren DO Einfaches Design Test Driven Development Refactoring Folie 19
Programmieren DO Anforderungen ändern Bedingen Änderungen am Design Je einfacher das Design, desto besser änderbar Einfaches Design ungleich schnelles Design! Refactoring oft nötig Code ändern braucht Mut Mut durch gute, automatische Tests Automatische Tests vor der Programmierung schreiben Test first, Test-Driven Development Das geht wirklich! Muss man aber erlebt haben um es zu glauben Getting test affected Test-Teufelskreis Folie 20
Liefern CHECK Continuous Integration Customer Tests Small Iterations Folie 21
Liefern CHECK Kunden an Software arbeiten lassen Häufiges Feedback Frühes Feedback (IKIWISI) Keine Demos! Reale Umgebung Qualität der Software immer hoch Qualität darf nie unter sehr gut sinken Potentially sellable Software Tester im Team integriert Nur fertige Features integrieren Keine Last-Second-Features Buildmaschine ist Voraussetzung Build, Test, Deploy Mindestens einmal täglich einen Build Wenn ein Build fehlschlägt wird es ungemütlich! Folie 22
Verbessern ACT Der Act Zyklus fehlt in XP Rückkopplung Iterationen: Produkt iterativ, inkrementell weiterentwickeln Retrospektive: Anpassen und adaptieren der Vorgehensweise Retrospektive = Reflexion und Verbesserung Was ist passiert? Was haben wir gut gemacht? Was können wir verbessern? Wer ist für was verantwortlich? Was hat oberste Priorität? Identifiziere wenige Massnahmen, und setze dies um Folie 23
? Die Antwort! Folie 24
The Nokia Test? Do you Scrum? LEVEL 1? 1. Are your Iterations time-boxed and last no longer than 4 weeks? 2. Is the software completely tested and working at the end of an iteration? Is the customer allowed to operate the software? 3. Can the iteration start before specification is complete? LEVEL 2 Do you Scrum? 4. Does the team know who the product owner is? 5. Is there a product backlog prioritized by business value? 6. Does the product backlog have estimates created by the team? 7. Does the team generate its burndown charts and knows its velocity? 8. Are there no project managers (or anyone else) disrupting the work of the team? Addition 9. Do you perform Retrospectives in the team after every iteration? 10. Is there an initiative ongoing to introduce Scrum in your company Folie 25 12 February 2008
Scrum How to go on? Literature Agility kompakt, P. Hruschka / C. Rupp / G. Starke Agile & Iterative Development: A Manager s Guide, Craig Larman Agile Software Development, Alistair Cockburn Balancing Agility and Discipline, Barry Boehm, Richard Turner extreme Programming explained, Kent Beck Test-Driven Development, Kent Beck Agile Principles, Patterns and Practices, Robert C. Martin Agile Retrospectives: Making Good Teams Great, Esther Derby et. al. Scrum, Roman Pichler Scrum-Breakfast First Wednesday each month, 8:00 10:00 Namics AG, Zurich, close to HB Register using Xing or www.scrum-breakfast.com Folie 26 12 February 2008
To be agile or not - is not the question! To be successful on the market or not - is the only question! Folie 27 12 February 2008