Software entwickeln mit extreme Programming



Ähnliche Dokumente
extreme Programming Eine Einführung mit Empfehlungen und Erfahrungen aus der Praxis dpunkt.verlag Henning Wolf Stefan Roock Martin Lippert

Agile Softwareprozess-Modelle

Inhalt. 3.1 Der inkrementelle Entwurf im Überblick Flache Aufwandskurve Qualitätskriterien für den inkrementellen Entwurf...

Ganzheitliches IT-Projektmanagement

Anforderungsermittlung mit Extreme Programming (XP) - Erfahrungen aus der Praxis

Extreme Programming: Überblick

Extreme Programming ACM/GI Regionalgruppe Bremen,

Feature-based Programming

Extreme Programming. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825

Extremes Programmieren

MSP: Methoden des Software-Entwicklungsprozesses

Agile Softwareentwicklung

- Agile Programmierung -

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Extreme Programming (XP)

Extremes Programmieren

Klausur mit Lösungshinweisen zur Vorlesung Planung und Entwicklung von IuK-Systemen Sommersemester August 2005 Deckblatt Hinweise

1 Einleitung Wie Sie dieses Buch verstehen sollten Die Projektberichte Der Anhang... 3

Referat Extreme Programming. Von Irina Gimpeliovskaja und Susanne Richter

Extreme Programming (XP) Integrativ?


IT-Projektmanagement

Rezension des Papers Recovery, Redemption and Extreme Programming von Peter Schuh

Agile Java-Entwicklung in der Praxis

Der Kunde in agilen Projekten

Lösungen zum Test objektorientierter Software

Empirische Evidenz von agilen Methoden. Seminar in Software Engineering Wintersemester 03/04

Einführung in das Scrum Framework & welche 10 Praktiken helfen, Scrum wirklich gut zu machen

Projektmanagement (Modelle, Methoden & Tools)

Chancen agiler Softwareentwicklung. Dipl.-Inform. Henning Wolf Geschäftsführer der akquinet agile GmbH

Basiswissen Software- Projektmanagement

Software- Projektmanagement kompakt

Einführung in das Software-Qualitätsmanagement

ZuuL - Entwicklung eines Adventures

Agiles Projektmanagement nach Scrum mit Projektron BCS - Erfahrungsaustausch -

Qualität bei evolutionärer Entwicklung

1. Einführung Advanced Programming Techniques. Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

Extreme Programming. Referat von Viktoria Schwarzhaupt und Andrea Schuhmann

Projektmanagement durch Scrum-Proxies

10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden?

Inhaltsverzeichnis. Ralf Wirdemann. Scrum mit User Stories ISBN: Weitere Informationen oder Bestellungen unter

Entwicklung domänenspezifischer Software

Modul 3: Service Transition

Im Rahmen seiner Beratertätigkeit veröffentlicht er Artikel und hält Vorträge und Schulungen zu diesen und weiteren Themen.

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

IT-Projekt-Management

Übungsaufgaben zum Software Engineering: Management

Agile Softwareentwicklung mit Scrum

Blockpraktikum Multimediaprogrammierung

Usability Engineering in agilen Projekten

Value Delivery and Customer Feedback

Basiswissen Software-Projektmanagement

Scrum mit User Stories

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Übungen zur Softwaretechnik

GI Fachgruppentreffen RE 2015

Basiswissen Software-Projektmanagement

Markus Pister (Autor) Integration formaler Fehlereinflussanalyse in die Funktionsentwicklung bei der Automobilindustrie

Mike Cohn. User Stories. Übersetzung aus dem Amerikanischen von Martina Hesse-Hujber. mitp

Kombinationsangebot "Professional Scrum Training" mit Vertiefung "Führen als Scrum Master" (PST-Kombi)

NET.Compact Framework

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

(und was wir davon lernen können!)

VNVALLEY FAR BEYOND YOUR EXPECTATIONS COMPANY PROFILE

2.1 Ist-Anwendungslandschaften Programme zur Gestaltung von Anwendungslandschaften

Umfrage zum Informationsbedarf im Requirements Engineering

Kontinuierliche Architekturanalyse. in 3D

Erfolgreiche Realisierung von grossen Softwareprojekten

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

Agiles Projekmanagement mit Scrum

Lego MindStorms Implementierung für Etoys

Funktionale Sicherheit in der Praxis

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Scrum. Agile Software Entwicklung mit. Agile Software Entwicklung mit. Scrum. Raffael Schweitzer 18. November 2003

KI im Weltall: Der Remote Agent

Interpretation des agilen Manifest

E-Business Architekturen

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls

Die 10 größten Probleme bei der Durchführung von IT-Projekten

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Software Construction

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen

Projekt- Manager. scrum Master Lehrgangsbeschreibung. Verdienst: EUR zzgl. Bonus p. a. Ähnliche freie Stellen in Deutschland: ca

Agile Softwareentwicklung - Ein praktisches Beispiel -

Agile Software Development

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Systemen - Testen im Softwarelebenszyklus

Agile Verbesserung der Arbeit Der richtige Weg zur professionellen IT

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

Informationswirtschaft 2: Überblick

Christoph Puls. Zielorientiertes Management. von Logistikdienstleistungen in. Netzwerken kooperierender. Unternehmen

SAP SharePoint Integration. e1 Business Solutions GmbH

Pragmatische Aufwandsschätzung und Agile Methoden

PMI-ACP, wie geht das

Christoph Behounek, eggs unimedia

Software-Entwicklungsprozesse zertifizieren

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

CI mit Forms im Weblogic Umfeld: CI mit Forms geht das

Transkript:

Martin Lippert Stefan Roock Henning Wolf Software entwickeln mit extreme Programming Erfahrungen aus der Praxis dpunkt.verlag

Inhaltsverzeichnis 1 Einleitung 1 1.1 Die XP-Werte 4 1.2 Die XP-Prinzipien 5 1.3 Die XP-Techniken 9 1.4 Kein XP-Projekt 14 1.4.1 Bewertung des Projektes 15 1.5 Ein XP-Projekt 17 1.5.1 Bewertung des Projektes 19 1.6 Überblick über das Buch 19 1.7 Literatur 20 2 Die XP-Techniken 23 2.1 Kunde vor Ort (engl. On-Site Customer) 23 2.1.1 Beschreibung 23 2.1.2 Beispiel: Kunde vor Ort 24 2.1.3 Erfahrungen 25 2.1.4 Beispiel: Angepasste Technik 28 2.1.5 Empfehlungen 29 2.1.6 Bezug zu anderen XP-Techniken 29 2.2 Planungsspiel (engl. Planning Game) 30 2.2.1 Beschreibung 30 2.2.2 Erfahrungen 31 2.2.3 Empfehlungen 35 2.2.4 Bezug zu anderen XP-Techniken 36 2.3 Metapher (engl. Metaphor) 37 2.3.1 Beschreibung 37 2.3.2 Erfahrungen 37 2.3.3 Beispiel: WAM-Metaphern 39 2.3.4 Empfehlungen 40 2.3.5 Bezug zu anderen XP-Techniken 40

xii Inhaltsverzeichnis 2.4 Kurze Releasezyklen (engl. Short Releases) 41 2.4.1 Beschreibung 41 2.4.2 Beispiel: Kurze Releasezyklen bei der Ablösung eines Hostsystems 42 2.4.3 Erfahrungen 44 2.4.4 Empfehlungen 49 2.4.5 Bezug zu anderen XP-Techniken 50 2.5 Testen (engl. Testing) 50 2.5.1 Komponententests: Beschreibung 50 2.5.2 Komponententests: Beispiel 52 2.5.3 Komponententests: Erfahrungen 54 2.5.4 Diskussion: Wiederverwendung von Komponententests 55 2.5.5 Diskussion: Komponententests als Testlabor für erbende Klassen 57 2.5.6 Diskussion: Testen und das Vertragsmodell 57 2.5.7 Akzeptanztests: Beschreibung 59 2.5.8 Akzeptanztests: Beispiel 60 2.5.9 Akzeptanztests: Erfahrungen 61 2.5.10 Empfehlungen 63 2.5.11 Bezug zu anderen XP-Techniken 63 2.6 Einfaches Design (engl. Simple Design) 65 2.6.1 Beschreibung 65 2.6.2 Erfahrungen 68 2.6.3 Diskussion: Einfache Designs etablieren 72 2.6.4 Diskussion: Einfaches Design und Frameworks 72 2.6.5 Diskussion: Performance-Optimierungen 73 2.6.6 Empfehlungen 74 2.6.7 Bezug zu anderen XP-Techniken 74 2.7 Refactoring 76 2.7.1 Beschreibung 76 2.7.2 Erfahrungen 76 2.7.3 Beispiel: Umbenennen einer Operation in einer Oberklasse 79 2.7.4 Empfehlungen 80 2.7.5 Bezug zu anderen XP-Techniken 81 2.8 Programmieren in Paaren (engl. Pair Programming) 82 2.8.1 Beschreibung 82 2.8.2 Erfahrungen 83 2.8.3 Empfehlungen 92 2.8.4 Bezug zu anderen XP-Techniken 93

Inhaltsverzeichnis 2.9 Gemeinsame Verantwortlichkeit (engl. Collective Ownership) 94 2.9.1 Beschreibung 94 2.9.2 Erfahrungen 94 2.9.3 Empfehlungen 97 2.9.4 Bezug zu anderen XP-Techniken 97 2.10 Fortlaufende Integration (engl. Continuous Integration)... 98 2.10.1 Beschreibung 98 2.10.2 Erfahrungen 100 2.10.3 Fortlaufende Integration in einem Ausbildungsprojekt 105 2.10.4 Diskussion: Integrationen beschleunigen durch Komponenten 105 2.10.5 Empfehlungen 106 2.10.6 Bezug zu anderen XP-Techniken 107 2.11 Programmierstandards (engl. Coding Standards) 108 2.11.1 Beschreibung 108 2.11.2 Erfahrungen 108 2.11.3 Empfehlungen 110 2.11.4 Bezug zu anderen XP-Techniken 111 2.12 40-Stunden-Woche (engl. 40 Hour Week) 112 2.12.1 Beschreibung 112 2.12.2 Erfahrungen 112 2.12.3 Empfehlungen 115 2.12.4 Bezug zu anderen XP-Techniken 115 2.13 Literatur 116 3 Rollen 121 3.1 Kunde (engl. Customer) 121 3.2 Programmierer (engl. Programmer) 122 3.3 Tester 123 3.4 Verfolger (engl. Tracker) 123 3.5 XP-Trainer (engl. XP Coach) 125 3.6 Berater (engl. Consultant) 126 3.7 Big Boss 126 3.8 Erfahrungen 127 3.8.1 Auftraggeber (engl. Client) 127 3.8.2 Anwender (engl. User) 128 3.8.3 Projektverantwortlicher 129 3.9 Empfehlungen 130 3.10 Literatur 130

xiv Inhaltsverzeichnis 4 Artefakte 131 4.1 Story-Cards 132 4.1.1 Adaption: Szenarios 133 4.1.2 Adaption: Glossar 135 4.1.3 Adaption: Projekttagebuch 136 4.2 Task-Cards 137 4.3 Releaseplan 140 4.3.1 Adaption: Projektetappen 140 4.3.2 Adaption: Kernsystem mit Ausbaustufen sowie Spezialsystemen 142 4.4 Iterationsplan 145 4.4.1 Adaption: Referenzlinien 145 4.5 Literatur 146 5 Organisation 149 5.1 Anforderungsermittlung 149 5.2 Projektplanung 153 5.3 Vertragsgestaltung 155 5.4 Sprints 156 5.5 Stand-Up-Meetings 157 5.6 Literatur 158 6 XP einführen 161 6.1 Einführungsstrategien 162 6.1.1 XP als Komplettpaket erlernen 162 6.1.2 XP schrittweise erlernen 163 6.1.3 Zusammenfassung 165 6.2 Der XP Coach 166 6.3 Wie wird man ein XP-Entwickler? 167 6.4 Management für XP-Projekte 168 6.5 Anpassung von XP 169 6.6 Typische Fallen und wie man sie umgeht 172 6.7 XP spielerisch 175 6.7.1 extreme Hour 175 6.7.2 explanations Game 176 6.8 Literatur 177

Inhaltsverzeichnis 7 Spezielle Konstellationen 179 7.1 extreme Frameworking 179 7.2 Migration von Legacy-Systemen 182 7.3 E-Business 183 7.4 Produktentwicklung 185 7.5 Outsourcing 187 7.6 Zertifizierung von Entwicklungsprozessen 189 7.7 Literatur 190 8 Projektberichte 191 8.1 Projekt Kermit 192 8.1.1 Projektkontext 192 8.1.2 XP-Einsatz 193 8.1.3 Bewertung 194 8.2 Projekt Gonzo 194 8.2.1 Projektkontext 194 8.2.2 XP-Einsatz 196 8.2.3 Bewertung 197 8.3 Projekt Scooter 200 8.3.1 Projektkontext 200 8.3.2 XP-Einsatz 201 8.3.3 Bewertung 206 8.4 Projekt JWAM 207 8.4.1 Projektkontext 207 8.4.2 XP-Einsatz 207 8.4.3 Bewertung 212 9 Bewertung und Ausblick 213 9.1 Bewertung 213 9.2 Für Bedenkenträger 214 9.2.1 Für Projektleiter und Manager 214 9.2.2 Für Entwickler 215 9.3 Ausblick 216 9.4 Literatur 216

xvi Inhaltsverzeichnis Anhang A Häufig gestellte Fragen (FAQ) 217 Anhang B Methodenintegration 221 B.l Der WAM-Ansatz 222 B.2 Die WAM-Schichtenarchitektur ~ 223 B.3 Literatur 227 Anhang C Programmierwerkzeuge 229 C.l Entwicklungsumgebungen 229 C.2 Versionsverwaltungssysteme 230 C.3 Testtools 232 C.4 Refactoring-Browser 233 C.5 Make-Werkzeuge 234 Anhang D Programmierrichtlinien 239 Glossar 269 Stichwortverzeichnis 279