Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
225 lines (176 sloc) 7.06 KB

Agile and XP

Weshalb überhaupt Agile?

  • Traditionelle Methoden wie Waterfall oder UnifiedProcess (UP) scheitern zu oft.

Gründe:

  • Man kann nicht schnell genug mit dem technologischen Wandel mithalten.
  • ändernde Anforderungen werfen jeden noch so guten "Plan" über den Haufen.
  • Der Auftraggeber weiss im Voraus oft selbst nicht im Detail was er genau braucht (und was nicht).

Was ist das SWEBOK?

  • Software Engineering Body of Knowledge
  • Dokument der IEEE Computer Society
  • Es strukturiert das gesammelte Wissen (englisch body of knowledge) auf dem
    Gebiet der Softwareentwicklung und stellt es der Allgemeinheit zur Verfügung.

Wer pflegt das SWEBOK und die Weiterentwicklung des SWEBOK?

Das IEEE Institute of Electrical and Electronics Engineers


Entwicklung von Software ist durch 4 Variablen (Teufelsquadrat) bestimmt. Wie heissen die Variablen?

  • Time
  • Resources
  • Quality
  • Scope (An der Variable Scope kann in der Praxis am besten "geschraubt" werden. Time und Resources sind meist gegeben und in der Qualität soll man keine Kompromisse machen. Man macht dann vielleicht ein Feature weniger als geplant, dafür Termingerecht und in hoher Qualität.)

Was ist XP?

  • eXtreme Programming.
  • Zu XP gehört u. A. auch Pair Programming (Driver und Partner) (siehe Praktiken)
  • Methode, die das Lösen einer Programmieraufgabe in den Vordergrund der Softwareentwicklung stellt und dabei einem formalisierten Vorgehen geringere Bedeutung zumisst. Diese Vorgehensweise definiert ein Vorgehensmodell der Softwaretechnik, das sich den Anforderungen des Kunden in kleinen Schritten annähert.

Was sind die Activities von XP?

  • Testing
  • Coding
  • Listening
  • Designing

Was versteht man unter cost of change?

Was kostet eine Änderung einer Anforderungen bzw. das Hinzufügen einer Anforderung, Traditionell und bei XP.


Was sind die Risiken in einem Software-Entwicklungs-Projekt?

  • Schedule slips
  • Project canceled
  • System does not evolve gracefully (defect rate increases)
  • Defect rate
  • Business misunderstood
  • Business changes
  • False feature rich
  • Staff turnover

Was sind die Werte von XP?

  • Communication (Jeder ist Teil des Teams, Zusammenarbeit)
  • Simplicity (nur machen was nötig ist, maximaler Wert herausholen für den betriebenen Aufwand)
  • Feedback (Software früh demonstireren und Änderungswünsche berücksichtigen)
  • Courage (Die Wahrheit sagen, niemand arbeitet alleine, keine Ausreden für Fehler dokumentieren)
  • Respect (Respekt untereinander, jeder steuert Mehrwert bei, Management respektiert das Recht auf Verantwortung und Zuständigkeit über die Arbeit des Teams)

Was sind XP Prinzipien?

Prinzipen sollen eine Brücke bilden zwischen abstrakten Werten und konkret anwendbaren Praktiken.


Was sind die XP Basic Prinziples?

  • Rapid feedback
  • Assume simplicity
  • Incremental change
  • Embracing change
  • Quality work

Was sind die anderen Prinziples?

  • Teach learning
  • Small initial investment
  • Play to win
  • Concrete experiments
  • Open, honest communication
  • Work with people’s instincts, not against them
  • Accepted responsibility
  • Local adaptation
  • Travel light
  • Honest measurement

Was sind XP Praktiken (v1)?

  • The Planning Game (Balance zwischen Business- und technischen Aspekten)
  • Small releases (jeder Release so klein wie möglich, enthält die Anforderungen mit dem grössten Mehrwert)
  • Metaphor (alle im Team müssen ein gemeinsames Verständis haben vom System, gemeinsames Vokabular)
  • Simple design (Alle tests grün, keine Codeduplizierung, "Put in what need when you need it")
  • Testing (kein Feature ohne autom. tests, Tests werden Teil des Systems)
  • Coding standards
  • Refactoring (gibt es einen Weg die Implementation zu verbessern?)
  • Pair programming (2 Personen an 1 PC, Rollen: "Coder" und "Denker")
  • Collective ownership (Jeder muss jede Möglichkeit wahrnehmen um Mehrwert hinzufügen)
  • Continuous integration (autom. Builden, Testen und Integrieren)
  • 40 hours week (Nachhaltigkeit, burnout vermeiden)
  • On-site customer (Enduser soll physisch anwesend sein)

Was sind die primären XP(v2) Praktiken?

  • Sit Together
  • Whole Team
  • Informative Workspace
  • Energized Work
  • Stories
  • Weekly Cycle
  • Quarterly Cycle
  • Slack (im Sinne von "locker", nicht die App "Slack")
  • Ten-Minute Build
  • Test-First Programming
  • Incremental Design

Welche Folgepraktiken ergeben sich aus den primären XP(v2) Praktiken?

  • 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

Was ist das Agile Manifesto?

  • Konsequenz der Frustration aus der IT-Industrie in den 90er-Jahren.
  • 4 Leitsätze
  • 12 Prinzipien

Was steht im Agile Manifesto?

  • 4 Leitsätze
  • Englisch
    • Individuals and interactions over processes and tools
    • Working software over comprehensive documentation
    • Customer collaboration over contract negotiation
    • Responding to change over following a plan.
  • Deutsch:
    • Individuen und Interaktionen stehen über Prozessen und Werkzeugen
    • Funktionierende Software steht über einer umfassenden Dokumentation
    • Zusammenarbeit mit dem Kunden steht über der Vertragsverhandlung
    • Reagieren auf Veränderung steht über dem Befolgen eines Plans

Was sind die 12 Prinzipien des Agile Manifesto (mind 4 können)?

Englisch

  1. satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development.
  3. Deliver working software frequently,
  4. Business people and developers must work together
  5. Build projects around motivated individuals.
  6. development team is face-to-face conversation.
  7. Working Software
  8. Sustainable Development
  9. Continuous attention to technical excellence
  10. Simplicity
  11. Self-organizing teams
  12. Reflection about the process

Deutsch

  1. Den Kunden zufriedenstellen durch frühe und kontinuierliche Auslieferung von Software mit Mehrwert.
  2. sich ändernde Anforderungen begrüssen, auch spät in der Entwicklungsphase
  3. Regelmässig funktionierende Software ausliefern
  4. Businessleute und Entwickler müssen zusammenarbeiten
  5. Baue Projekte mit motivierten Personen
  6. Informationen sollen im Team in Angesicht-zu-Angesicht Gesprächen ausgetauscht werden.
  7. Funktionierende Software ist der primäre Erfolgsmesser
  8. Langfristig tragfähige/aushaltbare Entwicklungsgeschwindigkeit.
  9. Aufmerksamkeit kontinuierlich auf technische Exzellenz richten
  10. Einfache Lösungen
  11. Selbstorganisierende Teams
  12. periodische Selbst-Reflexion im Team über den Prozess und wie er verbessert werden kann.

Was stellen die 12 Prinzipien dar?

  • Eine Sammlung von best practises für die agile Softwareentwicklung.

Was sind agile Methoden?

  • Paarprogrammierung
  • Testgetriebene Entwicklung
  • ständige Refaktorierungen
  • Story-Cards
  • schnelle Codereviews

Agile's Sweet Spot

Siehe Bild «Agile's Sweet Spot»

sweet_spot{ width=450px }

You can’t perform that action at this time.