Referat „Extreme Programming“

Slides:



Advertisements
Ähnliche Präsentationen
Motivations- und Selbstmanagement-Training
Advertisements

Prüfung objektorientierter Programme -1
Phasen und ihre Workflows
Programmieren im Großen von Markus Schmidt und Benno Kröger.
PC-Senioren Ludwigsburg
Von David Keß, Heinrich Wölk, Daniel Hauck
Designing Software for Ease of Extension and Contraction
Die Softwarelebenszyklen
Das „Vorgehensmodell“
Agiles Software- Projektmanagement mit XP Dipl.-Ing. F. Papenfuß Prof. Dr. H. Pfüller Universität Rostock.
Software-Lebenszyklus
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Teamwork Teamarbeit, Gruppenarbeit
eXtreme Programmierung
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Beispiel: Wasserfallmodell als einfaches Phasenmodell
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Die Türme von Hanoi Die Lösungsfindung nach dem Prinzip der Rekursion wird noch einmal textuell und grafisch erläutert
Datenbanksystementwicklung – Praktikum & Vorlesung – WS 2004/2005
Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:
eXtreme Programming (XP)
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Software Design Patterns Extreme Programming (XP).
Heute zählt Band 2 Heft 1.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Projekt e-com Forsich – Frotschnig – Rixinger
Software Engineering WS 2009
XP – eXtreme Programming
Spezifikation von Anforderungen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Jeden Tag ein neuer Morgen
THOMAS SCHÖNHART. ALLER ANFANG IST SCHWER Der Weg zum Casting war der erste Test für meine Nerven, doch kurz nach der Ankunft hatte ich alles abgeschüttelt.
Testgetriebene Entwicklung (TDD)
Offsite –Optimierung bzw. wo Sie noch gefunden werden
User-Centred Design Kosten und Gewinne des nutzerorientierten Gestaltungprozesses Irene Escudé Capdevila März 2012.
© Vöslauer 2010 Teamgeist im Hause Vöslauer. © Vöslauer 2010 Teamgeist bringt Mehrwert Wir glauben an die Stärke von Teams, deren Mitglieder sich gegenseitig.
Vorgehensmodell mit Scrum-Elementen
Wie schreibe ich eine Diplom- bzw. Masterarbeit ?
Lernjournal als Förderinstrument
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
LUST AUF GRUPPENARBEIT ?!
Faire und vertrauensvolle Zusammenarbeit an der
reteaming® Sie kennen folgende Situationen?
So funktioniert EUROPA.
Charles Hohmann, Dr. phil., Institut Montana Zugerberg
Lernen durch Vergleiche
Management, Führung & Kommunikation
xRM1 Pilot Implementierung
Level 4Level 5Level 6Level 7Level 8Level 9 Ist dem Veränderungsprozess positiv gegenüber eingestellt Ist offen für neue und außergewöhnliche Ideen und.
Bessere Rahmenbedingungen für eine moderne Volksschule.
Agile Softwareentwicklung
Inner magical Power Präsentiert: Future Fitness … … der Weg in eine erfolgreiche Zukunft.
Horw Präsentation Themenarbeit SWE Wyder Aaron Studiengang Informatik SS Semester Juni 2008 Ist Design tot? Evolutionäre.
Max. HWR DECISION TREE Max Jakisch Tobias Lentz Michael Berth Sebastian Möller Christian Güthling.
E r f a h r u n g e n.
Test-Driven Development
XML Seminar: XP und XML 1 XP and XML Gregor Zeitlinger.
DataGround UG (haftungsbeschränk). DataGround UG (haftungsbeschränk) IST - Status: In der Produktion tritt an einem Arbeitsplatz ein Problem auf. Der.
Der TURBO für Ihr Geschäft  neue Empfehlungen  neue Mitarbeiter  neue Klienten Automatisch? Ohne Bitten? JA!KarriereDesign.at Online Assessments KarriereCheck.
Karsten Risseeuw Filemaker Module FileMaker Konferenz 2014 Winterthur Filemaker Module Einführung in die Vorteile modularer.
Arbeitsgruppe Zukunft Marschmusik Bericht und Übersicht 1. Workshop.
Gedanken G.W
Modul 223 © 2011 coloSign Modul 223 Multi-User-Applikation objektorientiert realisieren mit VB.NET Gino Colombo Gewerblich-Industrielle Berufsschule.
Extreme Programming IEEE-Special von Michael Glögl Gehalten am
Das Entwurfsmuster Model-View-Controller
 Präsentation transkript:

Referat „Extreme Programming“ Von Irina Gimpeliovskaja und Susanne Richter

1.) Was ist XP? Überlegte Annäherung an Softwareentwicklung Prozessmodell für objektorientierte Softwareentwicklung erfordert gute Teamarbeit zwischen Manager, Kunde und Entwickler

2.) Geschichtliches, Entstehung 1990 - Kent Beck und Ward Cunningham dachten über bessere Entwicklungsstrategien nach 1996 - Beck arbeitet beim Chrysler Projekt C3, heraus kam XP von Chrysler als gescheitert erklärt, aber von Beck übernommen

XP-Methodik wurde erfolgreich abgeschlossen damals eingesetzt bei Projekten, bei denen es nichts mehr zu retten gab

3.) Grundprobleme und Lösungen in XP Terminverzögerungen: bei XP werden zuerst die wichtigsten Funktionen programmiert, so dass fehlende Funktionen weniger wichtig sind

3.) Grundprobleme und Lösungen in XP Projektabbruch: es wird eine kleinstmögliche Version ausgewählt, die den erwünschten Vorteil bringt so kommt es nicht zu einer untragbaren Verzögerung (hohe Kosten)

3.) Grundprobleme und Lösungen in XP System wird unrentabel (Kosten/Nutzen-Faktor stimmt nicht): ständiges Testen sorgt für erstklassigen Zustand des Systems Einfachheit des Systems minimiert Kosten bei Änderung

3.) Grundprobleme und Lösungen in XP Hohe Fehlerrate (unbrauchbare SW): ständige Tests durch Kunden und Entwickler

3.) Grundprobleme und Lösungen in XP falsch verstandenes Geschäftsziel: der Kunde wird zu starkes Teil des Teams

3.) Grundprobleme und Lösungen in XP Geschäftsziel ändert sich: kein Problem durch die kurzen Releasezeiten

3.) Grundprobleme und Lösungen in XP Falsche Funktionen (zu viele): Funktionen nach Priorität entwickeln kurze Releaszyklen beibehalten, damit der Kunde entscheiden kann, welche Funktionen wichtig sind

3.) Grundprobleme und Lösungen in XP Personalwechsel: ständige Tests und eine geringe Fehlerrate verursachen weniger Frustration bei den Programmierern weniger Personalwechsel als bei anderen Methoden

4.) Vier essentielle Eigenschaften diese sollen die Probleme der herkömmlichen Softwareentwicklung zuerst auf relativ abstrakte Weise angehen später werden gezielte Strategien entwickelt

4.) Vier essentielle Eigenschaften a) Kommunikation betrifft sämtliche Bereiche der Entwicklung XP setzt Coach ein, der speziell zur Entdeckung und Beseitigung von Kommunikationslücken zuständig ist (er fördert und unterstützt den Kommunikationsfluß)

4.) Vier essentielle Eigenschaften b) Einfachheit wie sind die Probleme am einfachsten zu lösen? Lösen von zwanghaftem Vorausdenken Devise: lieber heute etwas Einfaches herstellen, kompliziert kann man es immer noch morgen machen

4.) Vier essentielle Eigenschaften c) Feedback zur realisitischen Einschätzung des Projektstatus wird erreicht durch Komponententests jeder Funktion Feedback des Kunden durch frühe Releases Feedback desjenigen, der die Arbeit überwacht je mehr, desto einfacher und ehrlicher ist die Kommunikation

4.) Vier essentielle Eigenschaften d) Mut sich gegen altbewährte Methoden der Softwareentwicklung durchzusetzten Änderungen an Programmen, die man nicht geschrieben hat lang erarbeiteten Code wegwerfen und neuen Lösungsansatz bringen

5.) Grundprinzipien den Eigenschaften werden Prinzipien zugeordnet es ist immer die Alternative zu wählen, die am ehesten einem oder mehrerer Prinzipien folgt

5.) Grundprinzipien a)unmittelbares Feedback vom Kunden kurze Releasezeiten (< 1 Monat) vom System durch Komponententests

5.) Grundprinzipien b) Einfachheit anstreben Heute aktuelle Arbeit erledigen und das so einfach wie möglich komplexere Module kann man später in der vorher gesparten Zeit hinzufügen

5.) Grundprinzipien c) inkrementelle Veränderungen jedes Problem in viele kleine Problemchen zerlegen vereinfacht Programmierung und Testen schnelleres Fehlerfinden

5.) Grundprinzipien d) Veränderungen wollen Veränderungen wollen, da sie eine positiven Effekt haben können die beste Alternative einer Entscheidung ist die mit den meisten Optionen

5.) Grundprinzipien e) Qualitätsarbeit ist wichtig für den Erfolg und die Motivation des Teams also: qualitativ hochwertige Arbeit anstreben

6.) Die 12 Praktiken bei XP

6.) Die 12 Praktiken bei XP 1) Planungsspiel Kunde schreibt mehrere User Stories (keine Details) des Problems Abschätzen der Kosten pro Story (Zeit: 1-3 Wochen) nach Priorität bis zum nächsten Release abarbeiten insgesamt 80 +/- 20 gute Anzahl für Release Plan

6.) Die 12 Praktiken bei XP 2) kurze Releasezeiten erstes Release nach 1-2 Monaten, danach alle 2-4 Wochen nach jedem Release neues Planungsspiel Nutzen: häufiges Feedback des Kunden, sichtbarer Projektfortschritt selbst bei vorzeitigem Abbruch ist etwas Brauchbares verfügbar

6.) Die 12 Praktiken bei XP 3) System Metaphern gute Namen für Komponenten des Projektes finden Team soll das große Ganze nicht aus den Augen verlieren

6.) Die 12 Praktiken bei XP 4) Einfaches Design keine Redundanz, Klassen -und Methodenanzahl so klein wie möglich, Bestehen aller Tests Code und Testfälle sollten Projekt verständlich machen

6.) Die 12 Praktiken bei XP 5) Testen (!!!) Tests werden vom Programmierer und Kunden durchgeführt erst Tests schreiben, dann Funktion implementieren erst nach erfolgreichem Test, weiter entwickeln nach Refactoring alle Testfälle nochmal durchlaufen

6.) Die 12 Praktiken bei XP 7) Pair Programming jedes Programmierpaar arbeitet an einer User Story einer macht sich Gedanken über Implementierung, der andere über Testfälle häufiges Abwechseln der Rollen, auch Paarkombinationen ändern sich

6.) Die 12 Praktiken bei XP 8) gemeinsame Verantwortung Code ist kein Privateigentum jeder darf jeden Code jederzeit ändern

6.) Die 12 Praktiken bei XP 9) Fortlaufende Integration (!!!) es existiert ein eigener Integrationsrechner neuen Code nur an diesem Rechner einpflegen wenn Tests funktionieren, Code drin lassen, sonst alles zurücksetzen (siehe CVS)

6.) Die 12 Praktiken bei XP 10) 40-Stunden-Woche geregelte Arbeitszeiten sorgen für ausgeglichene Programmierer :o) und somit für bessere Arbeitsergebnisse

6.) Die 12 Praktiken bei XP 11) Kunde vor Ort Mitarbeiter des Kunden ist für die Projektzeit vor Ort, um mögliche Unklarheiten der Funktionen zu klären und User Storys mitzuschreiben

6.) Die 12 Praktiken bei XP 12) Programmierstandards gemeinsamer Programmierstandard sollte selbstverständlich sein (Coding standards) vereinfacht die gemeinsame Verantwortung für den Code

7.) Vorteile, Nachteile Vorteile: Motivation und Freude bei der Arbeit durch Gleichstellung im Team und gemeinsamen Code erstes lauffähiges Programm schnell verfügbar hohe Qualität durch Pair-Programming, Reviews, regelmäßiges Refactoring

7.) Vorteile, Nachteile Vorteile: dadurch: robuster, wartungsfreundlicher Code Einhaltung der Qualitätsanforderung durch Refactoring leichte Integration von Anfängern durch Pair-Programming

7.) Vorteile, Nachteile Nachteile: häufig fehlt Dokumentation (nur von Testfällen und Code), für spätere Änderungen problematisch dadurch müssen die Entwickler das Design quasi auswendig kennen (aber dieses wird oft verändert)

7.) Vorteile, Nachteile Nachteile: konkurrierende Änderungen an gemeinsamen Klassen XP bis jetzt unzureichend dokumentiert bisher nicht nachgewiesen, daß XP anderen Strategien überlegen ist

8.) Zielgruppe kleine Projekte mit unklaren, sich immer wieder verändernden Anforderungen kleine Gruppen von Mitarbeitern (10-15)

9.) Voraussetzungen alle Beteiligten müssen sich auf die genannten Praktiken einlassen alle Programmierer sollten am selben Ort und zur selben Zeit arbeiten (bessere Kommunikation!) Testläufe sollten nicht zu lange dauern

Viel Spaß beim Einsatz von XP! Vielen Dank! Viel Spaß beim Einsatz von XP!