Post on 10-Aug-2020
transcript
Erfahrungen aus einem großen agilen Projekt
Dipl.-Inform. Henning WolfGeschäftsführer
henning.wolf@akquinet.de
Erfahrungen aus einem großen agilen Projekt 2
Unser Hintergrund
Das Projekt in Stichworten
Agile Softwareentwicklung
Erfahrungen mit agiler VorgehensweiseAnforderungen und Features
Test-Driven Design / Incremental Design
Pair-Programming
Kurze Zyklen
Tipp für Studierende
Agenda
Erfahrungen aus einem großen agilen Projekt 3
Unser Hintergrund (akquinet AG)
IT-Beratung aus HamburgCa. 160 MitarbeiterStandorte in Berlin, Bremen, Kiel + international
3 Hauptfelder:Lösungen/Standardsoftware: Microsoft Dynamics, SAP, spezifische Lösungen für Sozialbereich, TelematikIndividualsoftware: Java, Java-EE-/JBoss, .NETOutsourcing: Rechenzentrumsbetrieb und IT-Betreuung
Erfahrungen aus einem großen agilen Projekt 4
Unser Hintergrund (akquinet agile GmbH)
Agile Softwareentwicklung/Schulung/BeratungErfahrungen mit eXtreme Programming seit 1998Scrum-Master, V-Modell XTErfahrungsbuch zu XP und agiler SoftwareentwicklungBeratungsproduktfamilie zu agiler Softwareentwicklung
Kleine und große ProjekteSeit Ende 1999 professionelle Projekte nach XPHeute auch Scrum und FDD/TDDProjektgrößen von 2 Leuten für einige Wochenbis zu 20 Entwicklern über mehr als 4 Jahre
Erfahrungen aus einem großen agilen Projekt 5
UBI = IT-Unterstützung für Betriebsführungs- und Instandhaltung
Laufzeit: 03/2002 bis 03/2003 (Exploration), seit Dezember 2003 bis heute
Auftraggeber: 4 Technische Geschäftsbereiche der BWB
Anwendergruppen: Bauleiter, Arbeitsvorbereiter, Disponenten,
Kolonnenführer, Verbrauchsableser, …
(ca. 450 User, die meisten mit wenig IT-Vorkentnissen)
Ziel: Optimierung der Betriebsführung und Instandhaltungsprozesse
in den technischen Bereichen und im Zählermanagement
Wirtschaftlichkeitsparameter: Reduktion von 47 PJ und SAP-Lizenzen,
IT-Konsolidierung (Geringe Folgekosten)
Aufwand/Dauer: Programmierung ca. 4 Mio. € / ca. 5 Jahre
Aktueller Stand: Fertigstellungsgrad ca. 90%, produktiv ca. 80%
Das Projekt UBI in Stichworten
Erfahrungen aus einem großen agilen Projekt 6
Worum geht es bei der Softwareentwicklung?
SystemAnforderungenGeschäfts
zielGeschäfts
ziel
Test???
Systemeinsatz
Verantwortungsbereich klassischer IT-Projekte
Erfahrungen aus einem großen agilen Projekt 7
Erfahrungen bzgl. Anforderungen 1/2
AnforderungslisteDskfjksdj skdj dsf dsfdsf sdf €•Sdsadlajd sdkfjksdf sdfk €
•Dskfjksdj skdj dsf dsfdsf sdff €
•sdj ssdfjjsdf sd aaaaaaaa dsf €
•Dskfjksdj skdj dsf dsfdsf €
•sdj ssdfjjsdf sdkjfsddsf dsfsdf €
•Dskfjksdj skdj dsf bbbb dffks €
•sdj ssdfjjsdf sdkjfsddsf dsfsdf €
•Dskfjksdj skdj dsf dsfdsf sdf €
•sdj ccccccc ffffffffff sfsdf sdf €
•Dskfjksdj skdj dsf dsfdsf sdffk €
•sdj ddddddddddd sf dsfsdf sdf €
•Dskfjksdj skdj dsf dsf €
•sdj eee eeeeesddsf dsfsdf €
•Dskfjksdj skdj dsf dsfdsf sdff €
•sdj ssdfjjsdf shhhhhhh dsfsdf €
•Dskfjksdj skdj dsf dsfdsf sd €
=
Basis für Werkvertrag Festpreis für Werkvertrag
Verbindliche Schätzung
Erfahrungen aus einem großen agilen Projekt 8
Erfahrungen bzgl. Anforderungen 2/2
Release 1
Release 2
Release nRelease n
Release n
Anforderungsliste•Dskfjksdj skdj dsf dsfdsf sdffksdf
•Sdsadlajd sdkfjksdf sdfk
•Dskfjksdj skdj dsf dsfdsf sdffksdf
•sdj ssdfjjsdf sd aaaaaaaa dsfsdf sdf
•Dskfjksdj skdj dsf dsfdsf sdffksdf
•sdj ssdfjjsdf sdkjfsddsf dsfsdf sdf
•Dskfjksdj skdj dsf bbbb dffksdf
•sdj ssdfjjsdf sdkjfsddsf dsfsdf sdf
•Dskfjksdj skdj dsf dsfdsf sdffksdf
•sdj ccccccc ffffffffff sfsdf sdf
•Dskfjksdj skdj dsf dsfdsf sdffksdf
•sdj ddddddddddd sf dsfsdf sdf fj
•Dskfjksdj skdj dsf dsfdsf sdffksdf
Neue Anforderungen•Dskfjksdj skdj dsf dsfdsf sdffksdf
•sdj ccccccc ffffffffff sfsdf sdf
•Dskfjksdj skdj dsf dsfdsf sdffksdf
•sdj ddddddddddd sf dsfsdf sdf fj
•Dskfjksdj skdj dsf dsfdsf sdffksdf
Erfahrungen aus einem großen agilen Projekt 9
Der Test/Code-Zyklus
Anforderungen sichten und erste Testfälle
überlegen und notieren
Anforderungen sichten und erste Testfälle
überlegen und notieren
Uns fällt nichts mehr ein, was
fehlschlagen könnte
Uns fällt nichts mehr ein, was
fehlschlagen könnte
Test entwerfen, der zunächst fehlschlagen
sollte
So viel Code schreiben, dass
sich der Test übersetzen lässt
So viel Code schreiben, dass der Test laufen
sollte
Prüfen, ob der Test
durchläuft
Prüfen, ob der Test scheitert
1122
44
55
66
77
33
Erfahrungen aus einem großen agilen Projekt 10
Inkrementelles Design ist Voraussetzung für agile Vorgehensweise
Testen und Entwerfen sind große Herausforderungen
Die meisten Entwickler lernen das nur sehr langsam
Aber: In kleinen Schritten geht es besser
Und: TDD erlernen hilft bessere Design zu entwerfen
Außerdem: Klassisch (Upfront-Design) ist es auch nicht besser!
Erfahrungen mit Test-Driven/Incremental Design
Erfahrungen aus einem großen agilen Projekt 11
Macht viel Spaß
Wissen im Projekt verteilt sich(Minimierung des Truckfactors)
Nicht jedermanns Sache
Besserer Code/Entwurf
Einhaltung von Standards
Nicht langsamer!
Erhöhung der Nettoprogrammierzeit
Anstrengender
Erfahrungen mit Pair-Programming
Erfahrungen aus einem großen agilen Projekt 12
Nach dem 1. kleinen Release gibt es viele neue Anforderungen
Nach dem 2. auch
Nach dem 3. auch
nach JEDEM neuen Release gibt es auch neue Anforderungen
Anforderungsmanagement ist eine Herausforderung:Vision erforderlich
Person erforderlich (Produktmanager)
Beschränkung auf das Wesentliche (80%-Lösungen)
Releases immer so schneiden, dass für die Anwender dabei ein erkennbarer zusätzlicher Nutzen entsteht
Erfahrungen mit kurzen Releasezyklen
Erfahrungen aus einem großen agilen Projekt 13
Erfahrungen aus einem großen agilen Projekt 14
Erfahrungen aus einem großen agilen Projekt 15
Noch Fragen?
Vielen Dank für die Aufmerksamkeit