Ich war schon immer fasziniert von der Programmierung von Paaren, aber in 12 Jahren habe ich noch nie an einem Ort gearbeitet, an dem diese Praxis angewendet wurde. Daher war ich immer skeptisch, wie die Leute das sehen.
Ich frage mich, ob das an Geld / Zeit liegt (Spitzhaariger Chef, der zwei Leute an einem Computer entdeckt, die am selben Code arbeiten !!!! Wie können sie es wagen!) Oder aus anderen Gründen?
Antworten:
Ich habe den gleichen Auftritt seit 15 Jahren und wir haben vor kurzem (in den letzten 12 bis 18 Monaten) damit begonnen, agile Techniken anzuwenden. Wenn Paarprogrammierung verwendet wird, wurde die Ergebnisgeschichte / -funktion rechtzeitig mit weniger Fehlern implementiert. Ich glaube immer noch nicht, dass es oft genug eingesetzt wurde.
Vor unserer Einführung von Agile haben sich ein anderer Entwickler und ich über die Jahre hinweg gelegentlich die Tastatur geteilt (möglicherweise alle 3-4 Monate). Unser Management-Team zeigte sich zurückhaltend, war jedoch mit unserer informellen Paarung immer zufrieden, da es in der Regel einige der folgenden Punkte erfüllte:
Ich würde sagen, das Management ist zurückhaltend, aber wenn Sie kleine Schritte unternehmen und zeigen können, dass die Funktion später besser ist (Kosteneinsparungen) und / oder jeder (oder ein) Entwickler einige Fähigkeiten erworben hat (Vorauszahlung), können Sie Dampf holen, wenn Sie finden es eine Praxis, die zu Ihnen oder Ihrem Team passt.
quelle
Ich vermute, dass es wahrscheinlich viele Widerstände von den Entwicklern geben wird. Erinnern Sie sich, dass Sie gezwungen waren, mit Menschen zu arbeiten, die vielleicht nicht die motiviertesten Menschen der Welt waren, während Sie studierten oder sogar in der High School waren? Diese Leute existieren immer noch. Solange Sie kein Team haben, das sich aus erstklassigen Mitarbeitern zusammensetzt, wird diese Art der Aufstellung in der Gruppe einige Feindseligkeiten hervorrufen.
quelle
Ich habe es offiziell noch nicht gemacht, aber wenn ich nicht weiterkomme, rufe ich einen Entwickler an und wir arbeiten beide gemeinsam an einer Lösung. Es ist eine großartige Möglichkeit, Ideen zu verbreiten. Lassen Sie eine Person überlegen, während die andere sie umsetzt, damit Sie nicht den Überblick verlieren, weil Sie sie abtippen.
Ich wünschte, es wäre mehr getan.
quelle
Ich interessiere mich nicht dafür:
1 - Ich höre meine Musik gerne beim Codieren. Nicht jeder möchte Slayer in die Ohren sprengen hören.
2 - Ich bin darüber aufgewachsen, dass es sehr unhöflich und unangenehm ist, den Leuten über die Schulter zu schauen, wenn sie es tun.
3 - Ich denke sehr schnell und wenn ich mich auf einem Lösungsweg befinde und eine Antwort zu finden beginne, ist es das allerletzte, was ich brauche, unterbrochen zu werden.
4 - Ich kann keine gelegentlichen Pausen einlegen, um Foren und Newsgroups zu lesen. Einige mögen es trotzdem für unangemessen halten, aber ich finde es sehr wichtig für meine weitere Verbesserung. Gelegentlich lenke ich mich zu sehr ab, aber im Allgemeinen überwiegt der Vorteil meines erweiterten Wissens die Auswirkungen auf meine Produktivität.
Ich nehme an, dass es in anderen Teams anders sein könnte, aber die wenigen Male, in denen ich tatsächlich von etwas überrascht bin und Hilfe brauche, bin ich fast immer derjenige, der irgendwann auf die Lösung kommt. Ich bin wirklich gut in dem, was ich tue, aber ich denke, es geht vielleicht noch mehr ... Ich bin mir nicht sicher, auf jeden Fall finde ich, dass es mir besser geht, nur die schwierigen Probleme zu lösen und es im Allgemeinen besser ist, es alleine zu tun. Könnte arrogant klingen, aber das macht es nicht falsch.
Ich habe überlegt, dass es anderen helfen könnte, einige meiner Techniken zu erlernen, aber unter Berücksichtigung von Nummer 3 wären sie kaum in der Lage, Fragen zu stellen, ohne meinen Gedankengang zu unterbrechen.
Trotzdem habe ich es von Zeit zu Zeit versucht. Manchmal hat es geringfügige Vorteile, aber ich kann es mit Sicherheit nicht als eine beständige Sache sehen. Das Lone-Wolf-System funktioniert für mich und es scheint für das Team zu funktionieren.
quelle
Paarprogrammierung ist eine großartige Möglichkeit, etwas Nicht-Triviales und Schwieriges zu beginnen oder zu tun. Mehr Routine und einfache Aufgaben lassen sich besser alleine erledigen.
Ich habe an einer Reihe von Sessions zur Paarprogrammierung teilgenommen, sowohl in Start-up / Garage-Unternehmen als auch in großen Unternehmen. Es geschah immer nur, wenn etwas Neues und Schwieriges in Angriff genommen wurde, das heißt, höchstens zweimal im Jahr für einige Wochen. Wie oft passiert das in Ihrem Unternehmen?
quelle
Wir haben es nie so genannt, aber damals haben wir immer neue Probleme angegriffen. Wir haben uns zusammengetan, um mit einer Lösung zu beginnen, brechen dann aber in der Regel auf, um die Details einzeln fertigzustellen / zu bereinigen. Nicht mehr so viel. Scheint immer seltener zu werden.
quelle
Nicht sehr häufig. In all den Läden, in denen ich in den letzten 10+ Jahren war, habe ich es einmal gesehen. Am langsamsten und am wenigsten effizienten Laden. Es scheint eine laute und stressige Umgebung zu schaffen. Eine Person fährt und redet ständig und hindert die andere daran, überhaupt zu denken.
Bringen Sie das Team zu Code-Reviews zusammen, sei es in Gruppen oder zu zweit, und geben Sie den Entwicklern ihren eigenen Raum. Auf lange Sicht ist es besser, als der neuesten Modeerscheinung von Agile hinterherzulaufen.
quelle