Nach meinem Verständnis wird kollektives Eigentum gemeinsame Probleme mit dem Antiquierten wie Qualität, Versagen aufgrund von Abwesenheit und Wissensaustausch lösen.
Es gibt jedoch einige Dinge, die ich nicht verstehe.
Edit : Punkt 4 und 5 hinzugefügt.
„Kollektives Eigentum am Code“ bedeutet nicht, dass jeder im Team bei jeder geschriebenen Codezeile mitreden kann. Der Code wird immer noch von Einzelpersonen geschrieben (es sei denn, Sie programmieren paarweise), und sie treffen die Entscheidungen, die sie zu diesem Zeitpunkt für die besten halten. Der Punkt ist, dass niemand einen Abschnitt des Codes „besitzt“.
Wenn John das Foo-Modul geschrieben hat und aus irgendeinem Grund während Johns Abwesenheit ein kritischer Fehler entdeckt wird, sollte nichts Sue daran hindern, einzuspringen und ihn zu beheben. Es ist nicht „Johns Code“, es sind die Teams.
Dann stellt sich also die Frage: "Wie repariert Sue den Code, wenn John ihn geschrieben hat?" und die Antwort ist nicht, dass Sue und der Rest des Teams jede Linie mit John entschieden haben, sondern dass John im Geiste der Teamarbeit und Zusammenarbeit und in dem Wissen, dass er nicht die einzige Person sein würde, die an dem Code arbeitet, nahm sich die Zeit, Tests zu schreiben und den Code zu dokumentieren, damit Sue daran arbeiten konnte.
Sue könnte auch einige Erfahrung mit dem Code aus Code-Reviews haben, die wiederum keine Chance für das Team sind, zu entscheiden, wie der Code hätte geschrieben werden sollen, sondern nur um sicherzustellen, dass er seinen Zweck erfüllt und allen Standards entspricht, denen das Team folgt .
Was Punkt 3 betrifft, so gehören Experimentieren, Erkunden usw. in Prototypen und persönliche Projekte, nicht in den Produktionscode.
Es kann natürlich passieren. Ich würde erwarten, dass alle Probleme, die sich aus einer falschen Entscheidung ergeben, bei Retrospektiven angesprochen und diskutiert werden. Hoffentlich erkennt das Team dann den Fehler, den es gemacht hat, und passt es an.
Warum eigentlich. Das Team sollte die Vor- und Nachteile der verschiedenen Ansätze diskutieren. Sie können entscheiden, dass eine technisch nicht optimale Lösung angemessener ist. Ein gesundes Team wird dies offen diskutieren und eine Entscheidung auf der Grundlage ihrer gemeinsamen Erfahrung treffen.
Ein gutes Team sucht nach Wegen, um gute Arbeit zu leisten. Sie tun dies sowohl durch Zusammenarbeit als auch durch die Stärkung der Stärken von Einzelpersonen im Team.
Wenn Schurkenverhalten Probleme verursacht, werden diese bei Retrospektiven angesprochen und diskutiert. Gruppenzwang reicht normalerweise aus, um den Schurken dazu zu ermutigen, produktiver zu arbeiten, insbesondere wenn die negativen Auswirkungen nachgewiesen werden können.
- Was ist, wenn die Mehrheit falsch liegt?
Es ist in Ordnung, wenn dies passiert! Die Idee ist, „schnell zu scheitern“, sich anzupassen, Ihren Plan zu aktualisieren und weiterzumachen und etwas anderes auszuprobieren. Das „fail fast“-Konzept ist nur eine weitere Möglichkeit, die wissenschaftliche Methode auf Ihre Arbeit anzuwenden.
Ich beantworte nur die erste Frage, jetzt bin ich auf dem Handy.
Todd A. Jacobs
Todd A. Jacobs