Was ist der Unterschied zu den Push- und Pull-Entwicklungsmodellen?

13

Ich habe Extreme Programming Explained, Second Edition gelesen und im Kapitel 11 "The Theory of Constraints" sprechen die Autoren über das alte und veraltete "Push" -Entwicklungsmodell und den XP-Weg, das "Pull" -Entwicklungsmodell . Es scheint ein ziemlich wichtiges Konzept zu sein, aber es werden nur ein sehr kleiner Absatz und zwei Bilder benötigt, die lediglich eine Illustration des "Wasserfalls" und des iterativen Prozesses darstellen. Diese Modelle sind nur durch die Bildunterschrift gekennzeichnet. Ich habe gesucht und es wird im Rest des Buches nicht weiter darauf eingegangen. Ich konnte auch im Internet keine weiteren Erklärungen oder Diskussionen dazu finden.

Wenn der einzige Unterschied darin besteht, dass einer "Wasserfall" und der andere iterativ ist , warum drücken und warum ziehen?

Versteht jemand den Unterschied zwischen diesen beiden und gibt er einige gute Beispiele?

michelpm
quelle
1
Kontinuierlich oder inkrementell ist ein weiteres Konzept, das verwirrende Fragen aufwirft. Beispielsweise ist XP ein inkrementelles Pull-System, während Kanban auf kontinuierlichem Pull beruht (dh keine Sprints mit Zeitbox).
Michael

Antworten:

15

Der Unterschied zwischen einem Push- und einem Pull-System besteht darin, wie die Arbeitseinheiten der Person zugewiesen werden, die diese Arbeitseinheit ausführen wird. Das Konzept von Push und Pull ist nicht nur in der Softwareentwicklung zu finden - die Idee stammt aus der Logistik und dem Supply Chain Management .

In einem Push-System wird eine Aufgabe erstellt und dann einem Entwickler zugewiesen. Eine Aufgabe kann von der Implementierung einer Anforderung (oder einer Komponente, die zur Realisierung einer Anforderung erforderlich ist) bis zur Behebung eines Fehlers in einem zu schreibenden Dokument reichen. Jemand, normalerweise eine Art Manager oder Teamleiter, nimmt die zu erledigenden Arbeitseinheiten und teilt sie dann den Mitgliedern des Teams zu, um sie zu vervollständigen. Die Arbeit wird einfach auf die Leute übertragen, die es tun werden.

In einem Pull-System werden die zu erledigenden Aufgaben in einer Warteschlange gespeichert, häufig einer Art Prioritätswarteschlange. Ein Beispiel könnten die Produkt- und Sprint-Backlogs von Scrum sein, die User Stories enthalten, die durchgeführt werden müssen. Ein Entwickler, der derzeit an nichts arbeitet, wird in die Warteschlange gestellt und nimmt die Story mit der höchsten Priorität auf, die er ausführen und bearbeiten kann. Die Leute, die die Arbeit machen, ziehen die Arbeit aus einer Liste und machen sie.

Das Konzept von Push und Pull hat nichts mit iterativer / inkrementeller versus sequentieller Entwicklung zu tun. Ein Team, das iterative / inkrementelle / agile Techniken einsetzt, könnte ein Push-System verwenden, während ein Team, das sequentielle Entwicklung einsetzt, ein Pull-System verwenden könnte. Typischerweise bevorzugen die agilen Methoden (XP, Scrum) selbstorganisierende Teams und ziehen daher Systeme heran.

Für weitere Informationen könnte Sie dieser Blog-Beitrag über Push vs. Pull in Scrum interessieren . Kanban könnte auch von Interesse sein - Kanban ist eine Methodik, die aus der Fertigung stammt, aber auf die Softwareentwicklung angewendet werden kann , bei der Just-in-Time-Entwicklung und Reduzierung der Überlastung der Mitarbeiter im Vordergrund stehen. Kanban ist auch mit Lean verwandt und wird häufig dort verwendet , einem anderen Fertigungskonzept, das für die Softwareentwicklung verwendet werden kann .

Thomas Owens
quelle
Jetzt, wo ich es verstehe, sehe ich, dass es im Buch nicht wirklich erklärt, sondern nur gebraucht wird. Ich mag meine Bücher kurz, aber dieser Absatz war nicht nur nutzlos, sondern irreführend.
michelpm
@michelpm Ich besitze das Buch nicht, daher kann ich die Gültigkeit dessen, was sie sagen, nicht kommentieren, aber ich habe noch nie von Push-and-Pull gehört, das auf eine andere Weise verwendet wurde, als ich es beschrieben habe. Wenn Sie Ihre Frage so bearbeiten könnten, dass sie den oder die vollständigen Absätze enthält, in denen Push and Pull beschrieben wird, könnte ich diese Antwort weiter verfeinern.
Thomas Owens
Die Bilder, die speziell Wasserfall mit Push in Verbindung gebracht haben, sind, wie ich jetzt verstehe, keine Regel und tragen nicht wirklich zum Verständnis der Modelle bei. Hast du das nicht gesagt?
michelpm
1
@michelpm Das ist richtig, dass es keine Regel ist. Sequentielle Modelle sind in der Regel Push-Modelle und die agilen Methoden sind in der Regel Pull-Modelle. Dies muss jedoch überhaupt nicht der Fall sein.
Thomas Owens