31
Agile Softwareentwicklung bei Geschäftsanwendungen Lars Jankowfsky, CTO, swoodoo GmbH

Agile Softwareentwicklung Bei Geschäftsanwendungen

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Agile Softwareentwicklung Bei Geschäftsanwendungen

Agile Softwareentwicklung bei Geschäftsanwendungen

Lars Jankowfsky, CTO, swoodoo GmbH

Page 2: Agile Softwareentwicklung Bei Geschäftsanwendungen

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

Page 3: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Cost Quality Time Scope

lessons learned

Agile Softwareentwicklung bei Geschäftsanwendungen

Page 4: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Agile Softwareentwicklung bei Geschäftsanwendungen

Achtung, Fertig...

Feuer!

Zielen......

Zielen...

Page 5: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Agile Softwareentwicklung bei Geschäftsanwendungen

Agile Methoden basieren auf:• Kommunikation • Einfachheit • Feedback • Mut

Page 6: Agile Softwareentwicklung Bei Geschäftsanwendungen

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

Page 7: Agile Softwareentwicklung Bei Geschäftsanwendungen

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:

Page 8: Agile Softwareentwicklung Bei Geschäftsanwendungen

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:

Page 9: Agile Softwareentwicklung Bei Geschäftsanwendungen

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

Page 10: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Agile Softwareentwicklung bei Geschäftsanwendungen

-100

0

100

200

300

400

2007 2008 2009 2010

Produktivitätszuwachs Agile

Page 11: Agile Softwareentwicklung Bei Geschäftsanwendungen

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."

Page 12: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Agile Softwareentwicklung bei Geschäftsanwendungen

• crystal clear • Feature Driven Development• Scrum• XP• ....

populäre Agile Methoden:

Page 13: Agile Softwareentwicklung Bei Geschäftsanwendungen

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

Page 14: Agile Softwareentwicklung Bei Geschäftsanwendungen

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

Page 15: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Agile Softwareentwicklung bei Geschäftsanwendungen

• Plan• Sprint ( Iteration == 30 days )• Sprint review• Closure

• http://www.controlchaos.com/

Scrum:

Page 16: Agile Softwareentwicklung Bei Geschäftsanwendungen

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

Page 17: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Agile Softwareentwicklung bei Geschäftsanwendungen

eXtreme Programminglessons learned

Page 18: Agile Softwareentwicklung Bei Geschäftsanwendungen

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)

Page 19: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Agile Softwareentwicklung bei Geschäftsanwendungen

eXtreme Programming• Planung• (Software Design)• (Entwicklung)• Test

Page 20: Agile Softwareentwicklung Bei Geschäftsanwendungen

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

Page 21: Agile Softwareentwicklung Bei Geschäftsanwendungen

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

Page 22: Agile Softwareentwicklung Bei Geschäftsanwendungen

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.

Page 23: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Agile Softwareentwicklung bei Geschäftsanwendungen

Page 24: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Agile Softwareentwicklung bei Geschäftsanwendungen

Page 25: 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

Page 26: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Agile Softwareentwicklung bei Geschäftsanwendungen

Page 27: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Agile Softwareentwicklung bei Geschäftsanwendungen

Page 28: 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.

Page 29: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Fragen?

Page 30: Agile Softwareentwicklung Bei Geschäftsanwendungen

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.

Page 31: Agile Softwareentwicklung Bei Geschäftsanwendungen

Lars Jankowfsky, swoodoo.com

Vielen Dank für Ihre Aufmerksamkeit

eMail: [email protected]