Benutzer-Werkzeuge

Webseiten-Werkzeuge


se:extremeprogramming

**Dies ist eine alte Version des Dokuments!**

Extreme Programming

Agiler Softwareentwicklungsprozess von Kent Beck.

Wiki von Ward Cunningham

nach {[quellen:Bleek2008|S. 137ff.]}

  • 5 Werte
    • Kommunikation
    • Rückkopplung
    • Einfachheit
    • Mut
    • Respekt
  • 14 Prinzipien
    • Menschlichkeit: Software wird von Menschen entwickelt
    • Wirtschaftlichkeit: Softwareprojekte müssen sich lohnen, Nutzen > Kosten
    • gegenseitiger Vorteil: Zusammenarbeit anstatt Aurichtung auf eigenen Vorteil
    • Selbstähnlichkeit: bereits Vorhandenes kann meist auf neue Projekte übertragen werden
    • Verbesserung: sowohl der Prozess als auch das Produkt werden kontinuierlich weiterentwickelt
    • Mannigfaltigkeit: unterschiedliche Meinungen und Erfahrungen sind willkommen, da nur so Innovation möglich ist
    • Reflexion: Lernen und Verbesserung
    • Fluss: die Arbeit soll flüssig von der Hand gehen und nicht ins Stocken geraten
    • Gelegenheit: Probleme sind Gelegenheiten etwas Neues zu lernen und zu wachsen (positive Grundhaltung)
    • Redundanz: bezogen auf das Entwicklungsteam (Stichwort "Truckfaktor")
    • Fehlschlag: Probleme und Fehlschläge gehören dazu und müssen akzeptiert werden, da meist nur durch sie bessere Lösungen gefunden werden können (anstatt immer die bewährten Wege zu gehen)
    • Qualität: das Team muss sich komplett der Qualität verschreiben und ggfs. gegen andere Faktoren (z.B. Termindruck) entscheiden
    • Babyschritte: kleine Schritte ergeben im Fehlerfall nur kleine Rückschläge, große lassen evtl. das Projekt scheitern
    • akzeptierte Verantwortlichkeit: jeder Projektteilnehmer muss die ihm übertragene und auch seine implizite Verantwortung erkennen und akzeptieren
  • 13 Primärpraktiken
    • Sit Together: die Teammitglieder sollten nah beieinander sitzen um die Kommunikation zu optimieren
    • Whole Team: das Team muss alle im Projekt benötigten fachlichen und technischen Fähigkeiten umfassen
    • Informative Workspace: die Arbeitsumgebung muss über den aktuellen Fortschritt des Projekts informieren (z.B. durch Flipcharts)
    • Energized Work: alle Teammitglieder sind engagiert
    • Pair Programming: zwei Entwickler programmieren im Team
    • Stories: Anforderungen werden als Geschichten erfasst
    • Weekly Cycle: eine Iteration dauert eine Woche
    • Quarterly Cycle: ein Release dauert 3 Monate
    • Slack: Entwickler brauchen auch während des Projekts Freiraum um sich über neue, projektferne Dinge zu informieren, um neue Anregungen in das Projekt zu bringen und nicht nur noch durch die Projektbrille schauen (und dadurch in anderen Projekten nicht mehr gut einsetzbar sind)
    • Ten-Minute Build: ein Build inkl. Tests darf max. 10 Minuten dauern
    • Continuous Integration: mehrmals am Tag integrieren die Entwickler ihre Änderungen in die Quelltextbasis
    • Test-First Programming: Tests werden vor dem eigentlichen Code entwickelt
    • Incremental Design: beim Entwurf werden immer nur die aktuell relevanten Anforderungen berücksichtigt
  • 11 Folgepraktiken
    • Real Customer Involvement
    • Incremental Deployment
    • Team Continuity
    • Shrinking Teams
    • Root-Cause Analysis
    • Shared Code
    • Code and Tests
    • Single Code Base
    • Daily Deployment
    • Negotiated Scope Contract
    • Pay per Use
se/extremeprogramming.1230408484.txt.gz · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)