+ All Categories
Home > Documents > Agile SW- Entwicklungsmethodenpeople.apache.org/~sgoeschl/download/jugat/2003-05-14_1.pdf ·...

Agile SW- Entwicklungsmethodenpeople.apache.org/~sgoeschl/download/jugat/2003-05-14_1.pdf ·...

Date post: 31-May-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
22
Ein agiler Vortrag über Ideen, die uns das Leben erleichtern sollen. von Paul Palaszewski Ein agiler Vortrag über Ideen, die uns das Leben erleichtern sollen. von Paul Palaszewski Agile SW- Entwicklungsmethoden Agile SW- Entwicklungsmethoden
Transcript

Ein agiler Vortrag über Ideen, die uns das Leben erleichtern sollen.

von Paul Palaszewski

Ein agiler Vortrag über Ideen, die uns das Leben erleichtern sollen.

von Paul Palaszewski

Agile SW-Entwicklungsmethoden

Agile SW-Entwicklungsmethoden

1) Arten des Lernens: Shu-Ha-Ri2) Das Agile Software Development Manifest.3) Allgemeines über Methoden 4) eXtreme Programming (XP) und 5) Crystal Methods6) Diskussion einzelner Techniken (z.B. Pair Programming

oder keine Dokumentation)7) Und nach dem 2. Vortrag Feedback und Diskussion bei

einem Bier.

Agenda

• Folgende Definition über Lernstufen kommt aus dem fernöstlichen Kampfsport Aikido:

• Shu - Lernen, Nachmachen• Ha - Loslösen, Erkennen von Alternativen• Ri - Nach Bedraf anwenden und weiterentwickeln

Arten des Lernens: Shu-Ha-Ri

• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan

Agile Software Development Manifest

Prioritäten:

http://agilemanifesto.org

Agile Alliance

• Die Agile Alliance bestehend aus folgenden 17 Personen, die sich im Feb. 2001 trafen um das Manifest zu schreiben:

• Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Marting Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Stephen J. Mellor, Ken Schwaber, Jeff Sutherland and Dave Thomas

• Das sind die Vertreter von Methoden wie XP, Scrum, Crystal, FDD, DSDM, etc.

Bestandteile von Methoden

Alistair Cockburn 2002

Scope von Methoden

Alistair Cockburn 2002

Eine Methode für Alle Projekte?

Das wichtigste ist, Software zu entwicklen, die einen Nutzen für Kunden hat.

Die schwierigste Hindernis dabei ist üblicherweise Kommunikation.

Qualität des Kommunikationskanals

Alistair Cockburn 2002

Kommunikationsbedarf bei steigender Personenzahl

Alistair Cockburn 2002

Kritikalität von Projekten

• Verlust von Bequemlichkeit

• Entbehrlicher Geldverlust

• Existenzieller Geldverlust

• Verlust von Leben

Schema zur Kategorisierung

Alistair Cockburn 2002

eXtreme Programming

• Eine der ersten bekannten agilen Methoden

• Sehr gut dokumentiert in vielen bunten Büchern

• Sehr kontroversiell diskutiert

• Eine C6-D6 Methode, vereinzelt auch in größeren oder wichtigeren Projekten angewendet.

Crystal Methoden

• Von Alistair Cockburn

• Legen Wert auf Personen und Kommunikation

• Werden ans Projekt angepaßt: Je nach Projektgröße und Kritikalität werden ihnen die Farben Clear, Yellow, Orange, Orange Web, Red Magenta, Blue usw. zugeordnet.

• Crystal Clear ist für Projekte von C6-D6 geeignet.

Crystal Clear

• Kleinste Crystal Methode

• Rollen: Sponsor, Senior Designer+Programmer, Designer-Programmer und User (zumindest Teilzeit verfügbar)

• Includiert Policy Standards: zB Software wird incrementel und regelmäßig geliefert.

• Work Products: u.a. Release sequence, Design drafts und Notizen, UI-Drafts, laufenden Code, Migration Code, Test cases, User manual.

• The Planning Game,

• Small Releases,

• Metaphor,

• Simple Design,

• Testing,

• Refactoring,

XP Prinzipien

• Pair Programming,

• Collective Code Ownership,

• Continuous Integration,

• 40-Hour Week,

• On-Site Customer,

• Coding Standards

• Our highest priority is to satisfy the customer through early and frequent software

• Deliver working software frequently, from a couple of wweks to a couple of months, with a preference for the shorter timescale

• Working software is the primary measure of progress

• Welcome changing requirements, even late in development. Agile processes harness change for the customer‘s competitive advantage.

• Business people and developers work together daily throughout the project.

Grundsätze des Manifests (1)

Grundsätze des Manifests (2)

• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

• The best architectures, requirements and designs emerge from self-organizing teams.

• Continous attention to technical excellence and good design enchance agility.

Grundsätze des Manifests (3)

• Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.l

• Simlicity - the art of maximizing the amount of work not done - is essential.

• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Buch-Referenzen• A. Cockburn: „Agile Software Development“, Addison

Wesley 2002, ISBN 0201699699 (viel gut erklärte Theory zu Kommunikation, mit Crystal Clear)

• K. Beck: „eXtreme Programing explained“, Addison Wesley 2000, ISBN 201616416 (das weiße Original)

• K. Auer u. R. Miller: „Extreme Programming Applied“, Addison Wesley 2002, ISBN 0201616408 (aktuellerer, lila, eines der besseren bunten XP-Bücher)

• A. Hunt u. D. Thomas: „The Pragmatic Programmer“, Addison Wesley 2000, ISBN 020161622x (viele nette Ideen für Ri-Leser (Meister))

Web-Referenzen

• http://www.agilealliance.com

• http://www.pragmaticprogrammer.com/

• http://alistair.cockburn.us/

• http://www.xprogramming.com

• http://www.rolemodelsoft.com/xp

• “Do not develop an attachment to any one wepon or any one school of fighting.

• “Practice and observe reflectively• “Win.”

Abschluß

Eine gute Einstellung, wie Software-Entwicklungsmethoden gelernt und angewandt werden sollten, kann man von Miyamoto Musashi (Samurai, lebte im 17. Jahrhundert) übernehmen - allerdings muß man sie erst auf Software-Entwicklung übersetzen:


Recommended