Ist Extreme Programming (XP) mit in Peopleware zum Ausdruck gebrachten Ideen nicht kompatibel?

16

Ich habe gerade Peopleware (DeMarco, Lister) zu Ende gelesen und mich vorher ein wenig mit Extreme Programming (XP) befasst. Aus meiner Sicht sind die beiden Ansätze nahezu exklusiv.

Peopleware schlägt vor, Programmierer von Störungen zu isolieren, und legt Wert auf ununterbrochene Arbeit, um Programmierern zu helfen, den Fluss zu erreichen. Auf der anderen Seite schlägt XP vor, so viel Kommunikation wie möglich zu gewährleisten, und schlägt sogar vor, dass Programmierer "zusammensitzen", paarweise codieren und im Allgemeinen im selben Raum arbeiten (was viel Lärm erzeugt).

Sind diese beiden konkurrierenden Denkschulen, ist vielleicht eine von ihnen als richtig / falsch erwiesen oder gibt es einen wirksamen Kompromiss? Ich kann die Argumente beider Seiten sehen, sehe aber keinen vernünftigen Kompromiss.

Ich bin sehr neu im Studium des Softwareentwicklungsmanagements, daher ist es möglich, dass ich etwas falsch verstanden habe. Alle Kommentare sind willkommen.

PS Als zusätzliche Mini-Frage, als Programmierer, welche würden Sie produktiver finden?

Aleksandrs Ulme
quelle
4
Sie sind nicht exklusiv. Pair Devs sollten ohne Unterbrechung funktionieren.
Lukasz Madon
@lukas: auch wenn man das bedenkt, was ist mit "zusammensitzen"?
Aleksandrs Ulme

Antworten:

12

Sie haben den Punkt mit Peopleware verpasst. Das Buch schlägt nirgendwo vor, Programmierer in einzelnen Büros zu isolieren, sondern sie in 2 bis 4 Personen pro Büro zu gruppieren.

Der Hauptgrund besteht darin, Programmierer von nicht programmierbezogenen Geräuschen zu isolieren, z. B. vom Verkäufer, der das Telefon anschreit, vom Chatten zwischen dem Manager und der Sekretärin, vom Geräusch, das von sich bewegenden Personen, vom Klingeln des Telefons, vom Klopfen der Türen und vielem mehr.

Extreme Programming ist voll kompatibel mit einem 2 bis 4 Office. Für die Paarprogrammierung stehen Ihnen maximal 2 oder 3 zur Verfügung.


quelle
Ja, als ich das betrachtete, bemerkte ich die Bemerkung, dass Programmierer "von Geräuschen isoliert sein sollten, die sich von denen unterscheiden, die sie machen", dh von Nicht-Programmierern. Vielen Dank!
Aleksandrs Ulme
Ich hatte den Luxus, ungefähr 5 Jahre in einem 3-Personen-Büro zu arbeiten. Es funktioniert wirklich gut - wenn die Leute zusammenarbeiten.
quick_now
@quickly_now: arbeitest du jetzt auf freiem raum?
1
Ich arbeite jetzt in einem Einzelbüro. Früher habe ich in einem 3-Personen-Büro gearbeitet, davor in offenen Räumen. (Und davor ... offener ... und davor ein Büro mit einer Tür, die ich schließen konnte). Nach all dem bevorzuge ich ein Einzelbüro. Wenn Sie diesen Luxus nicht bekommen können, dann sind 2-3 Leute gut. Mehr als das ist nur ein riesiger Schweinestall.
quick_now
11

Ich denke, beide Ansätze beschreiben eine allgemeine Arbeitsstrategie, aber nicht unbedingt jede Arbeitsminute an einem Tag. Ein Saldo muss vorhanden sein.

Seien Sie nah genug, um eine schnelle Kommunikation zu ermöglichen, aber ziehen Sie sich in einen abgelegenen Bereich zurück, wenn die Diskussion beendet ist und die eigentliche Arbeit folgen muss.

Ich persönlich finde, dass "zusammensitzen" und "viel Lärm machen" für die ganze Zeit nicht funktioniert. Es gibt Zeit für Gespräche, um Probleme zu besprechen, über die nächsten Schritte zu entscheiden usw. Dann bleibt Zeit zum Codieren, und die Leute müssen dafür ruhige Bereiche haben.


quelle
4

Der Schlüssel ist der Satz "Programmierer von Störungen isolieren und ununterbrochener Arbeit Vorrang einräumen". In XP ist die Priorität klar, wenn für jede Iteration die Option "Geschichten" ausgewählt wird, um die höchste Wertigkeit zu erzielen. Kunden müssen sich bemühen, eine "stabile" Reihe von Geschichten zu haben, ohne ihre Meinung während der Iteration zu ändern (es kann vorkommen, aber es sollten Sonderfälle sein, nicht die Norm).

Der Teil "Programmierer isolieren" ist der schwierigste. Das bedeutet, dass Programmierer das tun sollten, was sie am besten können: Programmieren. Damit XP funktioniert, müssen Programmierer in eine Umgebung versetzt werden, in der sie sich ausschließlich auf das Abschließen von Geschichten konzentrieren, ohne externen Aufwand wie Besprechungen, Telefonanrufe, kleine Gefälligkeiten und dergleichen. Dies kann entweder erreicht werden, indem jedes Programmiererpaar in ein eigenes Büro gestellt wird oder indem alle Programmierer in einem Warroom untergebracht werden, in den niemand sonst eintreten kann, es sei denn, dies wird unbedingt benötigt.

Soronthar
quelle
1

Persönlich finde ich es UNMÖGLICH, mit jemandem zusammenzuarbeiten, auch wenn ich von dieser Person lerne. Vielleicht ist es nur so, dass einige Leute (dh ich) besser auf die "klassischere" Art und Weise arbeiten (Betreten der Zone, Stille usw.).

Vielleicht liegt es auch daran, dass XP meistens in Webentwicklungsgeschäften implementiert wird, in denen viele Leute Hüte tragen, und anstatt harte Probleme in einer Domäne zu lösen (z. B. ein Stück Code zu optimieren), verbringen sie Zeit damit, eine bereits vorhandene Lösung für ein Problem zu finden, ohne dies zu tun intellektuell sehr schwer (zB Einbindung eines Einkaufswagens in die Seite etc.).

Für so etwas ist das Arbeiten zu zweit, viel Kommunikation usw. möglicherweise der einzige Weg, um effektiv voranzukommen (Sie werden nicht X Stunden damit verbringen, nur den Fehler des E-Mail-Sendemoduls Joomla! / Droopal zu finden, oder?) ?)

Jas
quelle
-2

Ja, XP ist vollständig inkompatibel mit Peopleware und den darin enthaltenen bewährten Methoden zur Softwareentwicklung. Vielleicht müssen Sie sich mit dem Abschnitt erfrischen, bevor Sie fortfahren?

http://code.scottshipp.com/2017/03/22/open-office-plans-excerpt-from-peopleware/

Tabelle 8-1 am unteren Rand beschreibt es ziemlich genau, wobei der letzte Eintrag der ultimative Torpedo ist.

  1. Unterbrechen dich die Leute oft unnötig? 38% ja 76% ja

In einem Büro mit mehreren Personen gibt es physikalisch keine Möglichkeit, dies zu vermeiden. Jemandes Ehepartner ruft sie an, und selbst wenn die Person nach der Beantwortung aussteigt, werden Sie dennoch durch die Beantwortung unterbrochen. Jemand versucht höflich zu sein, Kaffee zu trinken und ruft, ob jemand etwas will.

Vergessen wir nicht, dass der Coder, der Kopfhörer aufsteckt und die Lautstärke lauter dreht, damit Sie sie immer noch in einem Abstand von einem Meter oder noch schlimmer hören können, gezwungen ist, einen Stift zum Trommeln zusammen mit einem Abschnitt einer „großartigen Melodie“ zu verwenden. Oh, und wenn Sie das Pech haben, den einen Sportfan in der IT zu haben, kommen sie völlig aufgepumpt rein.

"Oh! Hast du letzte Nacht das Spiel gesehen? !!!! Und dieser Anruf !!!! Waren sie blind ?? !!"

Nun, du verstehst das Bild.

XP nach früher Definition ist 2 Programmierer und eine Tastatur. Es ist eine Methode, die wirklich nur für das Tieftauchen bei schwer zu findenden Fehlerbehebungen geeignet ist, nicht für die groß angelegte Softwareentwicklung. Sowohl das Open-Plan- als auch das Team-Room-Konzept verstoßen gegen die in Peopleware durchgeführten Untersuchungen.

user3450148
quelle