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.
agile
extreme-programming
kanban
Niklas
quelle
quelle
Antworten:
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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
quelle