Warum ist Extreme Programming (XP) zugunsten von Agile, Kanban usw. überholt?

15

Ich mag XP (extreme Programmierung), besonders den Teil, in dem sich 2 Programmierer auf dem gleichen Bildschirm befinden, da die Lösung eines Problems oft schneller gefunden wird, wenn Sie nur erklären, was Sie tun, und wenn Sie die Programmierung koppeln, müssen Sie erklären, was Sie sind tun.

In den letzten 10 Jahren scheint der XP-Arbeitsstil zugunsten der Arbeitsmethoden veraltet zu sein: Agile und / oder Kanban. Warum? Da XP für mich eine sehr gute Arbeitsweise ist und viel mit der Programmierung zu tun hat, geht es bei Agile und Kanban eher um Prozesse.

Niklas
quelle
28
XP ist ein agiler Ansatz. "Agile" kann XP also nicht wirklich ersetzen.
Joachim Sauer
1
Ich wollte gerade eine Antwort schreiben, als ich bemerkte, dass Volker so ziemlich dasselbe sagt. Agile Prozesse sind von Natur aus anpassungsfähig, es gibt kein "perfektes / reines" Kanban, Scrum, XP, es ist eher eine Mix-and-Match-Sache. XP ist in diesem Sinne nach wie vor sehr erfolgreich, da einige der eingeführten Konzepte von fast allen anderen Ansätzen übernommen wurden.
Yannis
3
Es gibt eine interessante Liste von Kritikpunkten zu XP in Wikipedia , aber wenn Sie es durchsuchen, trifft das meiste auf Agile im Allgemeinen zu.
Yannis
3
Ich glaube nicht, dass XP irgendwo hingegangen ist. Ein Großteil davon wird als Teil der agilen Entwicklung angenommen. Ich denke, was aus der Mode kam, war der Ausdruck "extrem". Es gab mir immer das Bild eines Kodierers, der auf den Berg gesprungen war. Tau mit einem Snowboard lehnte sich auf den Schreibtisch.
JimmyJames
Die ganze "Pair Programming" Sache hat nicht geklappt, IMO. Es ist großartig, um bestimmte isolierte Probleme zu lösen, aber die große Mehrheit der Programmierprobleme (Benutzeroberflächen, Architekturen, Geschäftsregeln) rechtfertigt nicht die Kosten dafür, dass zwei Softwareentwickler am selben Bildschirm sitzen.
Robert Harvey

Antworten:

21

Es gibt viele verschiedene Stile, Methoden und Denkweisen, die mit der gesamten Feldentwicklung zusammenhängen, und alles hat seinen eigenen, glänzenden Namen.

Agile ist nur eine Denkweise, die sich von den üblichen statischen Programmiermodellen (wie Wasserfällen) entfernt. Das Hauptziel ist eine flexiblere Entwicklung und (am Ende) eine bessere Software und zufriedene Kunden. Unter agil gibt es viele verschiedene Modelle wie Scrum, Kanban, XP.

Insbesondere Kanban stammt ursprünglich nicht aus der Softwareentwicklung, sondern aus dem Bau von Autos (ich erinnere daran, dass Toyota es für den Bau von Autos eingeführt und von einigen Softwareentwicklern übernommen und erweitert hat).

Pair-Programmierung, Code-Reviews und ähnliches sind nur Tools - Sie können (und sollten) dies immer während eines Projekts tun, unabhängig davon, welche Methode Sie verwenden. Es ist nur so, dass dieses Zeug eher agil als statisch ist.

XP hat diese Dinge mehr oder weniger eingeführt (oder ihnen zumindest einen glänzenden Namen gegeben) und all die folgenden Dinge haben sie übernommen, weil es einfach gut geklappt hat.

Volker
quelle
3
Wie auch bei @refro erwähnt, enthalten Scrum und Kanban keine Paarprogrammierung oder Codeüberprüfungen (sie schließen diese jedoch auch nicht aus). Beides ist eher eine Projektmanagementmethode als ein Softwareentwicklungsprozess. Als solche sind sie auf eine Vielzahl von Gebieten außerhalb der Softwareentwicklung anwendbar. Während XP speziell ein Softwareentwicklungsansatz ist. Diese können nebeneinander existieren - Sie können Ihr XP-Team auf Scrum-Weise verwalten.
Péter Török
16

In meinen Augen ist XP eine Programmierpraxis, Scrum und Kanban sind Projektmanagementpraktiken. Sie haben eine Beziehung, ersetzen sich aber nicht.

In unserem Kanban-Projekt verwenden wir Paarprogrammierung (hauptsächlich für komplexe Abschnitte und Debugging), TDD, CI. Es wird also immer noch verwendet, aber das Management treibt das Projektmanagement immer stärker voran.

refro
quelle
1
Pair Programming ist wie ein Jamming in Musikerpraktiken. Es funktioniert manchmal und manchmal überhaupt nicht. In seltenen Fällen kann es als allgemeine Spielweise und in sehr seltenen Fällen als Kompositionsweise verwendet werden .
Alex Yu
0

Beim Extreme Programming geht es um die Mechanik der Entwicklung, während es bei Agile um den SDLC (Software Development Life Cycle) geht.

Der Hauptgrund, warum Sie nicht mehr von "Extreme Programming" hören, ist die Verwendung des Begriffs "Extreme" als positives Adjektiv. Es handelt sich um eine veraltete Sache aus den 90er bis frühen 00er Jahren, die jetzt als blöd angesehen wird. Es ist meist nur ein Opfer von Marketing. Deshalb hört man es fast ausschließlich als "XP", auch mündlich.

Andy_Vulhop
quelle
0

Ich habe einige Gedanken zur Paarprogrammierung.

Für mich ist das etwas, was Sie tun, wenn Sie mit etwas feststecken. In solchen Situationen kann es sehr effektiv sein und einen aus der Brunft bringen. Aber es ist auch anstrengend und eine Arbeitsweise, die der Stereo-Programmierer nicht gerne öfter als gelegentlich macht.

Wenn Sie ein Loch graben, würde es wenigen Leuten etwas ausmachen, Hilfe von einem Kollegen zu erhalten. Aber sobald es um Kreativität geht, machen die Leute die Dinge lieber auf ihre Weise als auf die eines anderen. Spannung ist also immer in der Nähe, es sei denn, es ist einem egal, wie oder in welcher Richtung, oder die Rolle ist eindeutig nur anzunehmen.

Wo ich arbeite, ist die Paarprogrammierung nicht formalisiert, aber wir haben Ad-hoc-Sitzungen und sie sind in der Regel kurz. Es wird nicht wie "Hey Mitarbeiter, wie wäre es mit extremer Programmierung?" Es begann öfter mit "Können Sie sich meinen Bildschirm ansehen?" und zog einen Stuhl für sie.

Daher denke ich nicht, dass Pair Programming tot oder weniger populär ist. Es ist nur eines dieser Tools, die Sie nicht sehr oft verwenden, weil es teuer ist und nicht in erster Linie, weil Sie zwei bezahlte Leute haben, die an einer Sache arbeiten.

Martin Maat
quelle
0

Agile ist marktfähiger, da unterschiedliche Stakeholder mit unterschiedlichen Rollen und Verantwortlichkeiten im Zusammenhang mit dem Softwareerstellungsprozess beteiligt sind.

Als Kent Beck in seiner zweiten Ausgabe den Umfang der Teilnehmer in XP erweiterte, war es spät: Die Leute nutzten bereits andere Methoden, weil die erste XP-Version die Macher des Codes ansprach, und das ist es, woran sich das Publikum immer noch entweder unbewusst erinnert oder nicht. XP war bei der Geburt nicht vermarktbar.

Billal Begueradj
quelle
0

Ich habe immer gedacht, dass Scrum die Version von Agile ist, die am einfachsten an das Management zu verkaufen ist: die deterministischen Schätzungen, seine etwas doktrinäre, klar definierte Natur ("Sie machen Scrum nicht wirklich - fühlen Sie sich schuldig!") ...

Dehnen Sie Ihre Sprints lange genug aus und nehmen Sie diese kleinen "Pokerkarten" ernst genug, und Scrum kann genau so viel jucken wie Waterfall-Methoden. Das ist nicht unbedingt schlecht, aber lassen Sie uns hier nicht hinter Rauch und Spiegeln verstecken.

Auf der XP-Seite spricht die Paarprogrammierung im Allgemeinen nicht das Management an, insbesondere nicht das technische Management.

Um es in das SAT-Analogieformat zu bringen: Scrum: XP :: The Monkees: The Beatles

user1172763
quelle