2. Lars Jankowfsky?
• 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
3. Agile Softwareentwicklung bei Geschäftsanwendungen
lessons learned
Cost Quality Time Scope
Lars Jankowfsky, swoodoo.com
4. Agile Softwareentwicklung bei Geschäftsanwendungen
Achtung, Fertig...
Feuer!
Zielen...
Zielen...
...
Lars Jankowfsky, swoodoo.com
5. Agile Softwareentwicklung bei Geschäftsanwendungen
Agile Methoden basieren auf:
• Kommunikation
• Einfachheit
• Feedback
• Mut
Lars Jankowfsky, swoodoo.com
6. 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
7. Agile Softwareentwicklung bei Geschäftsanwendungen
Vorteile:
• 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)
Lars Jankowfsky, swoodoo.com
8. Agile Softwareentwicklung bei Geschäftsanwendungen
Nachteile:
• 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.
Lars Jankowfsky, swoodoo.com
9. Agile Softwareentwicklung bei Geschäftsanwendungen
LOC/nicht agile LOC/agile
4.000
3.000
2.000
1.000
0
S7 S10 S14 S32
Lars Jankowfsky, swoodoo.com
10. Agile Softwareentwicklung bei Geschäftsanwendungen
Produktivitätszuwachs Agile
400
300
200
100
0
-100
2007 2008 2009 2010
Lars Jankowfsky, swoodoo.com
11. Agile Softwareentwicklung bei Geschäftsanwendungen
quot; 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.quot;
quot;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.quot;
Lars Jankowfsky, swoodoo.com
12. Agile Softwareentwicklung bei Geschäftsanwendungen
populäre Agile Methoden:
• crystal clear
• Feature Driven Development
• Scrum
• XP
• ....
Lars Jankowfsky, swoodoo.com
13. Agile Softwareentwicklung bei Geschäftsanwendungen
crystal clear
• Frequent Delivery
• Reflective Improvement
• Close Communication
• http://www.informit.com/articles/
article.asp?p=345009&seqNum=1&rl=1
Lars Jankowfsky, swoodoo.com
14. Agile Softwareentwicklung bei Geschäftsanwendungen
Feature Driven Development
• Develop Overall Model
• Build Feature List
• Plan By Feature
• Design By Feature
• Build By Feature
• http://de.wikipedia.org/wiki/
Feature_Driven_Development
Lars Jankowfsky, swoodoo.com
15. Agile Softwareentwicklung bei Geschäftsanwendungen
Scrum:
• Plan
• Sprint ( Iteration == 30 days )
• Sprint review
• Closure
• http://www.controlchaos.com/
Lars Jankowfsky, swoodoo.com
16. Agile Softwareentwicklung bei Geschäftsanwendungen
eXtreme Programming
• für kleinere Teams ( 2 - 12 )
• Fokus auf automatischem Testing
• inklusive continuous integration
• http://www.extremeprogramming.org/
Lars Jankowfsky, swoodoo.com
18. 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
19. Agile Softwareentwicklung bei Geschäftsanwendungen
eXtreme Programming
• Planung
• (Software Design)
• (Entwicklung)
• Test
Lars Jankowfsky, swoodoo.com
20. 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
21. 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
22. 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
25. 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
28. 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
30. 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.
Lars Jankowfsky, swoodoo.com
31. Vielen Dank für Ihre Aufmerksamkeit
eMail: lars.jankowfsky@swoodoo.com
Lars Jankowfsky, swoodoo.com