Vor kurzem sind bei meiner Arbeit Leistungsbeurteilungen aufgetaucht, und ich wurde in eine interessante Position gebracht. Unser Team führt eine Menge Paarprogrammierungen durch, bei denen die Fähigkeitsunterschiede zwischen Teammitgliedern tendenziell gemittelt werden (insbesondere, wenn wir Paare drehen). Im Allgemeinen sehen Sie bei Leistungsüberprüfungen die geleistete Arbeit und zeigen, was Sie erreicht haben und wie Sie die Erwartungen übertroffen haben, um eine Gehaltserhöhung oder andere Vorteile auszuhandeln.
Wie demonstrieren (oder messen) Sie die individuelle Leistung in einer solchen Umgebung?
pair-programming
metrics
NT3RP
quelle
quelle
Antworten:
Nehmen Sie den Wert, den Sie der Paarprogrammierung beigemessen haben, in die Leistungsbeurteilung auf. Haben Sie dem anderen Programmierer geholfen, nützliche Dinge zu lernen? (Und umgekehrt, haben Sie auf seinen / ihren weisen Rat gehört und gut zusammengearbeitet?)
Eine Leistungsbeurteilung sollte kein Wettbewerb sein, sondern eine Coaching-Bewertung in Bezug auf Ihre persönlichen Ziele (die vermutlich im Einklang mit den Unternehmenszielen stehen und zu Beginn des Jahres vereinbart wurden; ansonsten ist sie nur willkürlich).
quelle
Es wäre schwierig, einen Leistungsvorteil gegenüber dem anderen wissenschaftlich eindeutig nachzuweisen.
Ihre Hypothese lautet, dass die Paarprogrammierung die Entwicklerleistung erhöht und die Qualität verbessert. Ihr Test besteht darin, einem Paar eine Reihe von Anforderungen zuzuweisen, die auf eine bestimmte Architektur beschränkt sind, und diese implementieren zu lassen.
In diesem Fall haben Sie die Kontrolle darüber, dass Sie dieselben Anforderungen an einen einzelnen Entwickler mit gleichem Ansehen, Können und Erfahrung stellen (wie dies von seinen Kollegen objektiv beurteilt wird) und innerhalb derselben Architektur eingeschränkt sind.
Um Ihre Hypothese der Zeitleistung zu überprüfen, müssen die Programmiererpaare ihre Arbeit in weniger als der Hälfte der Zeit als Kontrolle beenden. Um Ihre Hypothese zur Qualität zu überprüfen, müssen Sie das Experimentpaar und den Kontrollcode von einem objektiven Dritten überprüfen lassen und eine objektive QS-Gruppe die Ergebnisse beider Gruppen testen lassen, ohne ihnen mitzuteilen, welches Team was produziert hat. Die Paar-Programmiergruppe muss besseren Code und weniger Fehler aufweisen.
Es ist kein perfektes Experiment, aber ich wäre fasziniert zu hören, wenn jemand etwas Ähnliches versucht hätte.
Abgesehen davon kann ich jedoch nicht nachvollziehen, wie Sie tatsächlich beweisen können, dass Pair Programming einem einzelnen Programmierer in einer bestimmten Funktion überlegen ist.
quelle
Rufen Sie in Ihren Leistungsmetriken separat Folgendes auf: 1) individuelles Wachstum und Entwicklung, 2) Mentoring und Peer-Support. Ermöglichen Sie jedem Mitarbeiter, sich selbst zu bewerten und das Feedback seines Lead einzubeziehen. Wenn es in Ihrer Unternehmenskultur Sinn macht, ziehen Sie Peer Reviews oder Testimonials in Betracht.
Wenn dies richtig gemacht wird, wird der Mitarbeiter belohnt, der den höchsten Bildungswert aus einer Paarung erzielt, und der Mitarbeiter, der ihn dabei unterstützt, seine Kenntnisse und Erfahrungen auf den neuesten Stand zu bringen, wird für den Transfer von Wissen und Erfahrung belohnt. Menschen, die sich irgendwo in der Mitte befinden (neue Bereiche erlernen, anstatt nur von Junior zu Senior zu wechseln), werden für beide Enden der Gleichung anerkannt.
In der Praxis ist die Bewertung der individuellen Leistung im besten Fall schwierig. Es ist ziemlich schwer, es zu tun, ohne ein Gefühl des Grolls oder der Konkurrenz zu erzeugen. Wenn Sie jedoch den individuellen Beitrag zum Team bewerten und sowohl das Lernen als auch das Lehren schätzen, besteht eine gewisse Chance, dass es mit etwas weniger Reibung funktioniert.
quelle
Wechseln die Paare häufig? In diesem Fall können Sie anonyme Bewertungen verwenden, um eine Anzeige zu erstellen. Wenn beispielsweise Person A angibt, dass B 60% der Arbeit geleistet hat, Person C angibt, dass Person B 30% der Arbeit geleistet hat, und Person D angibt, dass Person B 90% der Arbeit geleistet hat, können Sie dies auf Person B übertragen 60% der Arbeit. Wenn die Arbeit, die Person B in seinen Paaren geleistet hat, einen relativen Faktor von 100 Punkten hat, dann hat Person B Arbeit im Wert von 60 Punkten geleistet!
Dies ist jedoch nicht (annähernd) perfekt. Die Leute geben sich wahrscheinlich mehr Anerkennung als die andere Person, daher müssen Sie dies möglicherweise bei der Berechnung berücksichtigen. Dies könnte auch zu einer Umgebung führen, in der die Paare einander verdächtig sind. Die Berechnung kann auch von jemandem verschoben werden, der die Person, mit der er arbeitet, nicht mag, usw.
quelle
Ich sage, wenn zwei von uns zusammengearbeitet haben, um X zu erstellen, bekommen wir beide Anerkennung dafür, dass wir es fertiggestellt und bereitgestellt haben. Möglicherweise liegt ein Problem vor, wenn ein Teil eines Paares überhaupt nicht funktioniert hat. In diesem Fall sollte der Manager die ganze Zeit darüber informiert sein und dieses Feedback beim Ausfüllen seines Kommentars zur Leistungsbeurteilung verwenden.
quelle
Sie befinden sich genau in der Situation, die mein Lehrer uns Schülern in unserem Lehrplan zur Spieleentwicklung vermittelt. Wir werden gepaart (2, 3 oder 4 Personen, abhängig von der Klassengröße und der Projektgröße) und am Ende werden wir aufgefordert, jedes einzelne Teammitglied und uns selbst in Bezug auf das Projekt und die geleistete Arbeit zu bewerten die Projekte der anderen Teams als Ganzes. Auf Basis dieser Bewertungen wird eine Note formuliert.
Während der Teambildung platzierte der Lehrer absichtlich einen starken Programmierer und einen schwachen Programmierer in der Hoffnung, dass sie sich gegenseitig abarbeiten und / oder helfen würden, aber 99% der Zeit würde der schwache Programmierer vorbeigehen und sehr wenig Arbeit für niemanden tun oder haben Keine Ahnung, was sie tun. (Da dies die fortgeschrittenen Kurse sind, ist es sehr frustrierend.)
Die Bewertungen sollen privat sein, aber sagen wir mal, es gibt ein paar Leute, mit denen sich jeder weigert, mehr zu arbeiten.
quelle
Paarprogrammierung bedeutet, dass eine Person überlegt, was und wie etwas getan werden soll, und die andere Person spielt einen Codieraffen. Dann wechseln sie irgendwann (man langweilt sich, wird müde usw.). Es ist gut, weil beide bei ihren Aktivitäten nicht unterbrochen werden.
Einige Leute betrachten es auch als "die Codeüberprüfung auf Steroiden". Sie erhalten überprüften Code, was eine höhere Qualität bedeuten sollte.
quelle
Gute Frage. Wichtig ist nicht nur, was Sie beitragen, sondern auch, wie Ihre Kollegen Ihren Beitrag sehen. Bitten Sie sie um ihr offenes Feedback, denn dieses Feedback hilft Ihnen dabei, ein besseres "was auch immer" zu sein . Im Ernst, es ist wichtig, dass Ihre Kollegen Ihren Beitrag verstehen und ihn nur verstehen, wenn sie während des Pairings mit Ihnen eine Menge lernen. Viel Spaß beim Programmieren, Teilen und Lernen, damit Sie gut verdienen.
quelle
Der Nachteil der Paarprogrammierung besteht darin, dass die erfahrenere Programmiererproduktivität kurz- bis mittelfristig auf die am wenigsten erfahrene Programmiererproduktivität beschränkt ist. Langfristig wird die Erfahrung und Produktivität im Nachwuchsentwickler gesteigert.
quelle