Scrum und Extreme Programming (XP) sind auf jeden Fall sehr ausgerichtet. Wenn Sie in einem Team einen dieser Prozesse ausführen, fällt es Ihnen möglicherweise schwer, schnell zu entscheiden, ob Sie in einem Scrum-Team oder einem XP-Team eingestiegen sind. Die Unterschiede sind oft sehr subtil, aber Sie sind wichtig. Ich denke, es gibt vier Hauptunterschiede zwischen Scrum und XP:
- Scrum-Teams arbeiten normalerweise in Iterationen (Sprints genannt), die zwischen zwei Wochen und einem Monat dauern., XP-Teams arbeiten normalerweise in Iterationen, die ein oder zwei Wochen lang sind.
- Scrum-Teams erlauben keine Änderungen in ihren Sprints. Sobald das Sprint-Planungsmeeting abgeschlossen ist und eine Verpflichtung zur Bereitstellung einer Reihe von Produkt-Backlog-Elementen eingegangen ist, bleibt diese Gruppe von Elementen bis zum Ende des Sprints unverändert. XP-Teams sind in ihren Iterationen viel zugänglicher für Änderungen. Solange das Team nicht mit der Arbeit an einer bestimmten Funktion begonnen hat, kann eine neue Funktion gleicher Größe im Austausch für die nicht gestartete Funktion in die Iteration des XP-Teams übernommen werden.,
- Extreme Programmierteams arbeiten in einer strengen Prioritätsreihenfolge. Die zu entwickelnden Funktionen werden vom Kunden (Scrum Product Owner) priorisiert und das Team muss in dieser Reihenfolge daran arbeiten. Im Gegensatz dazu priorisiert der Scrum Product Owner den Produkt-Backlog, aber das Team bestimmt die Reihenfolge, in der sie die Backlog-Elemente entwickeln. Ich habe noch nie ein Scrum-Team gesehen, das sich nicht für das Element mit der höchsten Priorität entschieden hat. Und ein Scrum-Team wird sich sehr wahrscheinlich dafür entscheiden, am zweitwichtigsten zu arbeiten., Irgendwann passt einer der Punkte mit hoher Priorität möglicherweise nicht gut zu dem geplanten Sprint—vielleicht wird eine Schlüsselperson, die daran arbeiten sollte, von der Arbeit an Elementen mit höherer Priorität überschwemmt. Oder vielleicht ist es sinnvoll, an einem Element mit etwas niedrigerer Priorität zu arbeiten (sagen wir #10 im Produktrückstand anstelle von #6), da das Team in dem Code arbeitet, in dem #10 implementiert wird.
- Scrum schreibt keine technischen Praktiken vor; XP tut., Ich liebe die XP-Engineering-Praktiken, insbesondere Dinge wie testgetriebene Entwicklung, den Fokus auf automatisierte Tests, Paarprogrammierung, einfaches Design, Refactoring und so weiter. Ich denke jedoch, es ist ein Fehler, dem Team zu sagen: „Sie organisieren sich selbst, wir vertrauen Ihnen, aber Sie müssen diese spezifischen Ingenieurpraktiken anwenden….“Dies sendet eine gemischte Nachricht an das Team, die Verwirrung stiftet. Ich liebe die XP-Praktiken, mag sie aber nicht. Ich möchte, dass Teams den Wert selbst entdecken.
Dies sind kleine und oft subtile Unterschiede zwischen Scrum und XP., Sie können jedoch einen tiefgreifenden Einfluss auf das team. Mein typischer Rat an Teams ist „Beginne mit Scrum und erfinde dann deine eigene Version von XP.“Die XP-Praktiken sind wunderbar, aber sie funktionieren am besten und die Teams verpflichten sich am striktesten zu ihnen, wenn sie sie selbst entdecken, anstatt sie beauftragt zu haben. Ich helfe Teams dabei in meinem Coaching, indem ich Fragen stelle wie: „Wäre dieser Fehler passiert, wenn wir eine testgesteuerte Entwicklung durchgeführt hätten?“und“ Hätten wir diesen Fehler gemacht, wenn wir uns paaren würden?“Ich finde True XP ein kleines Ziel in der Ferne., Wenn ein Team darauf zielen und das Auge des Stiers treffen kann, wunderbar. Wenn nicht, sind sie jedoch wahrscheinlich Hacking (z. B. Refactoring ohne automatisierte Tests oder TDD). Scrum ist ein großes Bullauge, das allein durch den zusätzlichen Fokus und die Timebox-Iterationen große Verbesserungen bringt. Das ist ein guter Ausgangspunkt, um dann die XP-Praktiken hinzuzufügen.