Agile Softwareentwicklung bei Geschäftsanwendungen
Lars Jankowfsky, CTO, swoodoo GmbH
Lars Jankowfsky?
Lars Jankowfsky, swoodoo.com
• Developer, Teamleader seit 1992• PHP seit 1998• Viele erfolgreiche Projekte von 2 bis 20
Entwickler.• Im Moment verantwortlich für zwei grössere
eXtreme Programming Projekte
Lars Jankowfsky, swoodoo.com
Cost Quality Time Scope
lessons learned
Agile Softwareentwicklung bei Geschäftsanwendungen
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
Achtung, Fertig...
Feuer!
Zielen......
Zielen...
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
Agile Methoden basieren auf:• Kommunikation • Einfachheit • Feedback • Mut
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
http://agilemanifesto.org/• Individuals and interactions over
processes and tools • Working software over comprehensive
documentation• Customer collaboration over contract
negotiation • Responding to change over following a
plan
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
• Klar definierte Kosten und Zeiten • Transparenz bzgl. des Projekt Fortschritts• Flexibilität - Änderungen jederzeit
möglich• Frühzeitige Reaktionsmöglichkeit bei
Verzögerungen• Optimales Preis/Leistungsverhältnis
(kein Overhead)
Vorteile:
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
• Mehr Selbstbestimmung auf Entwickler Seite
• Ständige Verfügbarkeit für Fragen der Entwickler
• Der Projekt Verantwortliche muss entscheidungsfähig sein.
• Kein „Schnellschuss/Hack“ möglich.
Nachteile:
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
0
1.000
2.000
3.000
4.000
S7 S10 S14 S32
LOC/nicht agile LOC/agile
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
-100
0
100
200
300
400
2007 2008 2009 2010
Produktivitätszuwachs Agile
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
" Ilieva et al. (S10) found 13% fewer defects reported by the customer or by the quality assurance team in an XP project than in a non-XP project."
"With respect to product size, the XP model teams in Dalcher et al.'s (S7) study delivered 3.5 times more lines of code than the V-model teams."
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
• crystal clear • Feature Driven Development• Scrum• XP• ....
populäre Agile Methoden:
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
• Frequent Delivery• Reflective Improvement• Close Communication
• http://www.informit.com/articles/article.asp?p=345009&seqNum=1&rl=1
crystal clear
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
• Develop Overall Model• Build Feature List• Plan By Feature• Design By Feature• Build By Feature
• http://de.wikipedia.org/wiki/Feature_Driven_Development
Feature Driven Development
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
• Plan• Sprint ( Iteration == 30 days )• Sprint review• Closure
• http://www.controlchaos.com/
Scrum:
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
• für kleinere Teams ( 2 - 12 )• Fokus auf automatischem Testing • inklusive continuous integration
• http://www.extremeprogramming.org/
eXtreme Programming
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
eXtreme Programminglessons learned
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
eXtreme Programming“Software development is too hard to spend time on things that don't matter. So, what really matters? Listening, Testing, Coding, and Designing.”
(Kent Beck, “father” of Extreme Programming)
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
eXtreme Programming• Planung• (Software Design)• (Entwicklung)• Test
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
XP Planung - der „Customer“• immer verfügbar• erstellt die sog. „Stories“• setzt Prioritäten und erklärt die „Stories“• hat die Autorität offene Fragen zu
entscheiden.• definiert die Akzeptanz Tests
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
XP Planung - Zeitschätzung• das Wetter von gestern?• Erfahrungswerte werden genutzt• Gibt es andere Teams die bereits ähnliches
umgesetzt haben?• Die Schätzung erfolgt in „Story Points“ =
idealen Personen Tagen
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
XP Planung - „Release“ Plan• Der „Customer“ setzt die Prio. fest.• Stories mit einem hohen Risiko müssen
zuerst entwickelt werden• Das Release datum wird festgelegt. Der
Inhalt kann sich noch ändern - das Datum nicht.
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
XP: Das Testen....• „continuous integration“ ?• Die Tests laufen automatisch• und die Resultate werden veröffentlicht im
Team• Akzeptanz Tests definieren den Stand
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
Lars Jankowfsky, swoodoo.com
Agile Softwareentwicklung bei Geschäftsanwendungen
XP: Keine Überstunden!
• Projekte welche Überstunden erforderlich machen werden nicht rechtzeitig fertig. Egal was an Einsatz vom Team kommt.
• Überstunden drücken die Motivation und den Teamgeist!
• Besser abends Computerspiele und relaxen anstatt Bugs in die Software einzubauen.
Lars Jankowfsky, swoodoo.com
Fragen?
Lars Jankowfsky, swoodoo.com
Quellen:
S7: D. Dalcher, O. Benediktsson, H. Thorbergsson,Development life cycle management: a multiproject experiment, in: Proceedings of the 12th Interna-tional Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05), 2005. Conference, 2004.
S10: S. Ilieva, P. Ivanov, E. Stefanova, Analyses of an agile methodology implementation, in: Proceedings 30th Euromicro Conference, IEEE Computer Soci-ety Press, 2004, pp. 326--333.
S14: L. Layman, L. Williams, L. Cunningham, Exploring extreme programming in context: an industrial case study, Agile Development Conference, 2004.