Warum ist der am weitesten verbreitete agile Softwareentwicklungsansatz eine Mischung aus Scrum und XP?
Warum halten Sie es für eine gute Idee, sie zusammen zu verwenden?
(Wenn ich nicht laut bin, um eine meinungsbasierte Frage zu stellen, sperren oder löschen Sie bitte diesen Thread, danke)
Scrum schreibt keine spezifischen Engineering-Praktiken vor (oder schlägt sie sogar vor), sodass Teams häufig TDD, Pairing, kontinuierliche Integration usw. von XP übernehmen.
Es ist wahrscheinlich korrekter zu sagen, dass die gängigsten agilen Implementierungen das Scrum-Framework verwenden, um zu definieren, wie die Arbeit spezifiziert wird, und den Prozess, mit dem Funktionen bereitgestellt werden, während XP-Engineering-Praktiken verwendet werden.
Dieser Artikel von Mike Cohn geht detaillierter auf einige der Ähnlichkeiten und Unterschiede zwischen XP und Scrum ein. http://www.mountaingoatsoftware.com/blog/differences-between-scrum-and-extreme-programming/
Scrum definiert drei Rollen, drei Rituale und drei Artefakte. Es handelt sich nicht um eine gründliche Softwareentwicklungsmethodik, sondern um ein minimales Produktentwicklungs-Framework . Während sich seine Formulierung auf Software konzentriert, definiert es tatsächlich ein Machtgleichgewicht zwischen verschiedenen Interessengruppen, die ein Produkt entwickeln, und Spezifikationen zu Interaktionen und Rückmeldungen, um es zu regulieren.
XP (eXtreme Programming) hingegen ist eine Softwareentwicklungsmethodik . Es wird oft verwechselt mit der Reihe von Engineering-Praktiken, die es vorschreibt (Paarprogrammierung, testgetriebene Entwicklung…), obwohl es auch Elemente definiert, die in die Kategorie Produktentwicklung fallen, wie z. B. das Planungsspiel .
Daher ist es in der Tat sehr üblich, dass Softwareentwicklungsteams (eine Teilmenge von) den Engineering-Praktiken von XP in (zu oft eine Teilmenge von) dem Scrum - Framework integrieren, da die beiden darauf abzielen, unterschiedliche Probleme zu lösen .
Sie können daher zusammen verwendet werden, da die vorgeschriebenen Praktiken orthogonal sind: Die Engineering-Praktiken von XP wirken sich nur auf das Team aus, ändern aber nicht die Definition dieser Scrum-Rolle, noch umgekehrt. Und sie werden zusammen verwendet, einfach weil sich beide als sehr effizient erwiesen haben.
Meiner Meinung nach ist das Mischen von Methoden ein natürlicher Fall, wenn es Werkzeuge für bestimmte Zwecke gibt. Und wenn ein neuer Zweck entsteht, für den keine der abgebildeten Techniken vorhanden ist, kann jeder versuchen, vorhandene zu mischen und zu übernehmen. Scrum ist eher ein Prozess-Toolset, das viele Aspekte und Teile der Softwareentwicklung abdeckt. Während XP eher ein fertigungsbezogenes Toolset ist, das Werte für kleinere Anwendungsbereiche bietet.
Außerdem würde ich vorschlagen, sich Scrumban anzusehen . Es verfügt über ausgereifte Ergebnisse gemischter Praktiken, die sehr einzigartigen Anforderungen für dynamische und KMU-Unternehmen gerecht werden.
Scrum ist ein Framework.
XP besteht aus einer Reihe von Techniken, die Sie zusätzlich zu diesem Framework anwenden können.
Obwohl XP beliebt ist, sind Sie nicht auf die Verwendung von XP beschränkt. Sie können wählen, welche Technik für Sie am besten geeignet ist.
Marv Mills
Karl Blanc
MattiSG