Agile MVP (wertvollster Spieler / Programmierer)


9

Vor kurzem war ich an einem agilen Projekt (mithilfe von Scrum) beteiligt, bei dem das Management auf die Idee kam, dass das Team am Ende jedes Sprints einen Entwickler-MVP sowie einen QA-MVP nominieren würde, über den das Team abstimmt Mannschaft. Der MVP erhält dann eine kleine Geldprämie und ein kostenloses Mittagessen sowie eine Trophäe, die er auf seinem Schreibtisch ausstellen kann. Wir hatten bisher zwei Sprints mit diesem Belohnungssystem.

Das Gute, das ich daraus sehe, ist das Folgende:

  • Weitere Fehler wurden behoben (was das obere Management sehen möchte, eine Änderung der Anzahl in der Richtung, die es möchte)
  • Der MVP von jedem 'Team' wird erkannt und erhält einen Selbstbewusstseinsschub (oder ist es ein Ego-Schub?)

Ich habe ein paar Dinge bemerkt, die ich für schlecht halte, wenn ich so etwas mache (zumindest vom Standpunkt eines Entwicklers aus):

  • Es gibt einige Entwickler, die sich so sehr mit der Anzahl befassen, dass die Qualität der Fehlerkorrekturen gesunken ist. Korrekturen in einem Bereich verursachen Regressionen in einem anderen.
  • Es gibt einige Entwickler, die "einfachere / schnellere" Fehler auswählen, um ihre Fehleranzahl zu erhöhen. Könnte hier gut oder schlecht sein, denke ich.
  • Fehler mit höherer Priorität (die häufig mit "schwerer / länger zu beheben" korrelieren) haben tatsächlich eine niedrigere Priorität.
  • Blockierungsfehler werden nicht rechtzeitig behoben, da sie normalerweise länger dauern und eine stärkere Koordination mit der Qualitätssicherung erfordern.
  • Der Teamaspekt innerhalb des Entwicklerteams ist verloren gegangen. Der Teamaspekt von Dev und QA, die zusammenarbeiten, hat sich ebenfalls nicht verbessert, hat sich aber nicht wirklich verändert.
  • Arbeiten, die über Fehlerkorrekturen hinausgehen oder auf DIESE Nummer hinarbeiten, sind nicht leicht zu erkennen / zu verfolgen.

Ich glaube, dass jedes der oben genannten Probleme bis zu einem gewissen Grad angegangen werden kann, je nachdem, wie das Team mit den einzelnen Problemen umgeht.

Meine Frage ist also, hat jemand so etwas erfolgreich durchgezogen, wo Sie einen MVP pro Sprint erkennen? Wenn ja, was hat Ihrer Meinung nach zu diesem Erfolg beigetragen?


8
Eine Sache ist komisch. Am Anfang sagst du "vom Team gewählt", aber der Rest des Beitrags handelt von Bugs und Bugcount. Sollte sich das Team nicht bewusst sein, dass Bugs und Bugcount nicht alles sind, was dazu gehört? Und dass jemand, der schwerwiegende / schwere Fehler behoben hat, für MVP besser geeignet sein sollte als jemand, der viele einfache Fehler behoben hat?
Euphorisch

2
Möglicherweise müssen Fehler mit höherer Priorität gewichtet werden, um 2 oder 3 Fehlern mit niedrigerer Priorität zu entsprechen? Die Sache mit ihm wettbewerbsfähig zu machen ist , dass es wird die hässlichen Seiten des Wettbewerbs zu bringen. Es ist schwierig, die Dinge freundlich und wettbewerbsfähig zu halten (im Ernst).
FrustratedWithFormsDesigner

8
Wenn mein Team dies jemals tun würde, würde ich die Option haben wollen, diesen Unsinn freundlicherweise abzulehnen. Ich möchte nicht alle zwei Wochen auf den Rücken klopfen.
Anthony Pegram

7
Es gibt nichts Schöneres als als Teameinheit zu arbeiten, um eine Arbeitseinheit innerhalb einer Zeiteinheit zusammen zu erledigen. Und das ist nichts anderes als als Teameinheit zu arbeiten, um eine Arbeitseinheit innerhalb einer Zeiteinheit zusammen zu erledigen.
pdr

3
Dies ist amüsanterweise genau das Gleiche, was in Kundendienstorganisationen passiert, wenn das Management zu stark auf Rohdaten angewiesen ist.
Blrfl

Antworten:


32

Agile betont die Teamleistung , nicht die Leistung des Einzelnen. Nein, dieser Ansatz ist eindeutig nicht agil.

Anstatt die Teamzusammenarbeit zu fördern, ermutigt dies jedes Teammitglied, sich auf sein eigenes Ergebnis zu konzentrieren. Es kann sogar dazu führen, dass Mitglieder es vermeiden, sich gegenseitig zu helfen (oder schlimmer noch), was auf lange Sicht das Team daran hindert, besser zu werden.

Ich schlage vor, das Team als Ganzes zu belohnen, wenn es gute Arbeit geleistet hat.


2
Nochmal. Wenn MVP vom gesamten Team gewählt wird, warum wird dann der Einzelne hervorgehoben? Wenn ich in einem solchen Team wäre, würde ich für eine Person stimmen, die meiner Meinung nach am meisten zum Projekt beigetragen hat. Und ich wäre gegen eine Person, von der ich glaube, dass sie mir nicht helfen wollte.
Euphorisch

@Euphoric: stimmte zu, aber dies ist "Wenn MVP vom gesamten Team gewählt wird". Die Frage ist unklar, ob es sich um eine Fehlerzählung oder eine Abstimmung handelt. Wenn es sich um eine Zählung handelt, stimme ich auch Martin zu.
rdurand

Wenn alle Teams für eine einzelne Person stimmen, dann Ok. Sonst ist es wie vorgeschlagen, außer dass Sie Druck haben, "richtig" zu stimmen.
Dainius

Zur Verdeutlichung haben wir in dieser Situation jeweils für unsere Top 3 gestimmt: Dev und QA. Während unserer täglichen Stand-ups wurde jedoch nur die Anzahl der Fehler hervorgehoben.
Dustin Kendall

1
Ich stimme zu, und jetzt, da dies implementiert wurde, muss das Team ein weiteres Problem lösen. wie man dieses Belohnungssystem beseitigt, ohne die Teamdynamik weiter zu stören; "zB; 'das ist nicht fair, wir haben es nur zweimal gemacht, also habe ich nicht die Chance bekommen zu gewinnen!'"
RJ Lohan

7

Ich denke, es ist ein gutes Beispiel für die Anwendung von -bad- Gamification . Das Problem ist, dass Ihre Programmierer möglicherweise eine intrinsische Motivation hatten, Probleme zu lösen und Herausforderungen zu meistern (harte Fehler zu finden und zu beheben) UND, seit Sie Scrum implementiert haben, als TEAM zu arbeiten. Mit anderen Worten, sie wollten möglicherweise einen guten Job machen.

Zumindest für einige von ihnen wurde diese intrinsische Motivation oder ein Teil davon durch eine extrinsinc-Motivation ersetzt, die aus Titeln ("MVP der Woche") und Belohnungen (Geldbetrag und kostenloses Mittagessen) besteht, die häufig Teil der Spielmechanik sind eines gamifizierten Prozesses.

Gamification kann bei der Arbeit erfolgreich angewendet werden, aber Sie müssen sehr vorsichtig sein, um die intrinsische / extrinsische Motivation zu nutzen. Die extrinsische Motivation muss die Selbstbestimmung fördern , damit die Motivation intrinsisch wird. Was hier jedoch passiert ist, ist das Gegenteil: Programmierer spielen das Spiel, um zu gewinnen .

Um dies zu beheben, können Sie das Management bitten, die Regeln ein wenig zu ändern:

  • Geben Sie Punkte, die dem Schwierigkeitsgrad und der Priorität der Tickets entsprechen. Machen Sie es so, dass es punktuell viel interessanter ist, einen schwer zu findenden / zu reproduzierenden Fehler zu beheben.
  • Geben Sie Punkte für die kooperative Lösung von Problemen (wieder das TEAM). Hier könnten Sie mehr Programmierer dazu bringen, mit der Qualitätssicherung zu interagieren. Geben Sie Punkte für ein Problem, das beispielsweise von einem Programmierer UND einer Qualitätssicherung gemeinsam gelöst wird.
  • Geben Sie verschiedene Titel an, einen für die meisten Punkte und einen für die meisten Tickets. Dies sollte den Wettbewerbsinstinkt der Programmierer befriedigen.
  • Stellen Sie möglicherweise einen freundschaftlichen Wettbewerb zwischen dem Entwickler und der Qualitätssicherung her, indem Sie die Punkte aller Mitglieder eines Teams zusammenfassen

Ein weiteres Problem besteht darin, die Möglichkeit des Auftretens von Regressionsfehlern zu verringern. Sie könnten zum Beispiel negative Punkte anwenden, aber ich bin sicher, dass dies keine gute Idee ist, da dies eine Form der Bestrafung wäre. Was vielleicht besser wäre, ist, automatisch einen Sprint mit ein paar Punkten zu starten, wenn in der letzten Woche kein Regressionsfehler festgestellt wurde. Wenn Regressionsfehler erkannt wurden, beginnt der Programmierer mit 0.

Auch in "Gamification" gibt es "Game". Und der grundlegende Aspekt eines Spiels ist, dass Sie freiwillig spielen / teilnehmen. Im Rahmen der Arbeit kann dies von der Geschäftsleitung auferlegt werden, was hier der Fall ist, aber normalerweise sollte niemand dazu gezwungen werden.

Zusammenfassend lässt sich sagen, dass diese MVP-Sache nicht unbedingt eine schlechte Idee ist, aber der Ansatz könnte ein wenig geändert werden, damit das Geschäft (das Lösen wichtiger Fehler) an erster Stelle steht und Teamwork und nicht Einzelpersonen im Vordergrund stehen.


5

Eine Art Gruppenerkennung der Bemühungen eines Teammitglieds kann ein wertvoller Motivator sein, aber in diesem Fall klingt es so, als würde es falsch angewendet. Sie geben an, dass der MVP durch Abstimmung ausgewählt wird, aber es wird häufig erwähnt, wie viele Fehler pro Sprint behoben wurden. Es hört sich so an, als hätte Ihre Zeit eine lustige Definition von MVP - ich würde annehmen, dass die Person, die den Titel "am wertvollsten" verdient, die Person ist, die der Software in diesem Sprint den größten Mehrwert verliehen hat. Wenn ein Teammitglied Fehler ausfindig macht, die schnell behoben werden können, sie so schnell wie möglich beseitigt und Regressionsfehler und andere Probleme verursacht, dann schaffen sie keinen Mehrwert, sondern schaffen mehr Arbeit für jeden, der sie hat um ihnen zu folgen, um diese Probleme zu identifizieren und zu beheben.

Mein Vorschlag wäre, zu versuchen, eine angemessene Diskussion zu beginnen, wenn Ihr Team das nächste Mal eine dieser Stimmen hat. Machen Sie es nicht nur zu einem Handzeichen. Sprechen Sie es zuerst durch. Wenn jemand aufgrund der Anzahl der von ihm vorgenommenen "Korrekturen" Stimmen zu erhalten scheint, weisen Sie (taktvoll) darauf hin, wo diese Korrekturen Regressionen verursacht haben, und schlagen Sie vor, dass möglicherweise die Person, die diese Regressionen behoben hat, für die Bereinigung anderer Personen nominiert werden sollte Chaos. Wenn jemand den ganzen Sprint damit verbracht hat, sich mit einem bösen Problem zu beschäftigen, weisen Sie das Team darauf hin und heben Sie die Tatsache hervor, dass diese Person zwar ein Problem behoben hat, aber im Alleingang ein großes Problem mit Ihrer Software gelöst hat - ein Problem, das es gab so böse, dass niemand sonst es anfassen wollte.

Es ist nicht wertvoll, einfache Korrekturen auszuwählen und diese in Eile oder willkürlich durchzuführen. Entwickler, die dies nur tun, sollten sich daher wahrscheinlich nicht als MVP-Kandidaten qualifizieren. Vergessen Sie bei der Auswahl des neuen MVP alles über das Team und die Mitarbeiter und sehen Sie sich die Software an. Wählen Sie die wichtigste Änderung in dieser Software seit dem letzten Mal aus. Ich meine hier Single ; "nicht so viele kleine Fehler" ist keine große Änderung. Wurde ein besonders eklatanter Fehler behoben? Wurde eine großartige neue Funktion hinzugefügt? Wenn Sie herausgefunden haben, was diese große Veränderung ist, fragen Sie, wer dafür verantwortlich war. Eine dieser Personen ist wahrscheinlich Ihr eigentlicher MVP. Wenn "nicht so viele kleine Fehler" der einzige Unterschied ist, dann und nurDann ist die Anzahl der Fehler ein gültiges Maß für MVP - und selbst dann würde ich das Verhältnis der behobenen Fehler zu den verursachten Regressionsfehlern untersuchen. Jeder Fehler, den jemand verursacht, zieht mindestens 1 von seiner Anzahl ab. Tatsächlich würde ich mehr als 1 sagen, da eine schlechte Lösung einen unbekannten Fehler verursacht, den Sie dann finden müssen, der schlimmer ist als ein bekannter Fehler, der bereits gefunden wurde. Ein bekannter Fehler erfordert Entwickleraufwand. Ein unbekannter Fehler erfordert QA-Aufwand, um ihn zu finden, und Entwickler-Aufwand, um ihn zu beheben. Dann besteht das Risiko, dass QA ihn verpasst.

Wenn Entwickler erkennen, dass der Weg zum Preis darin besteht, weniger und größere Probleme zu beheben, zielen sie theoretisch auf die schwierigen, die komplexen und die blockierenden Mängel ab. Dies erfordert, dass sie sich manchmal zusammenschließen, entweder weil es nicht genug fleischige Probleme gibt, um herumzugehen, oder weil das Problem schwierig genug ist, um mehr Augenpaare zu erfordern . Vielleicht schlagen Sie vor, dass in solchen Fällen die Auszeichnung geteilt werden könnte, wenn nicht sofort klar ist, welche Gruppe mehr an der Behebung eines Fehlers gearbeitet hat - und denken Sie daran, dass die Arbeit erledigt ist! = Codezeilen geschrieben. Die Entwickler werden das wahrscheinlich wissen, aber Sie sagten, dass das Management involviert ist und das Management diesen Punkt nicht immer versteht.

Und wenn alles andere fehlschlägt, vergessen Sie das MVP-Programm. Sprechen Sie mit Ihren Entwicklerkollegen außerhalb der Scrums und weisen Sie auf die negativen Auswirkungen der MVP-Auszeichnungen auf die Software hin. Sehen Sie, ob Sie sie dazu bringen können, es zu ignorieren oder es nicht zu einer so großen Sache zu machen. Lassen Sie die Trophäe in einer Schublade, geben Sie den Geldpreis für eine Runde Getränke für das Team nach der Arbeit aus und nutzen Sie das kostenlose Mittagessen, um etwas zu erhalten, das Sie teilen können, wie z. B. ein paar Cupcakes. Agile ist ein Teamsystem. Hervorheben individueller Leistungsrisiken, bei denen das Team gegeneinander antritt. Vereint stehen Sie, geteilt Sie versenden fehlergefüllte Software, nach Ablauf der Frist über das Budget.


3

Dies ist ein klassisches Beispiel dafür, wie eine bestimmte Praxis (öffentliche Anerkennung als MVP) einen signifikanten, aber indirekten Einfluss auf das Verhalten Ihres Teams haben kann. Dies geht über Anreize, Motivationen und Belohnungen hinaus und berührt tatsächlich Ideen in der Umwelt- / Verhaltenspsychologie und Entscheidungsarchitektur. Cooles Zeug.

Die Frage ist: Wie können Sie einen Prozess so gestalten, dass Ihr Team auf natürliche Weise die richtigen Dinge zu tun scheint, ohne strenge Richtlinien einführen oder die Leute dazu zwingen zu müssen, etwas zu tun?

Ich habe über die Verwendung von Vergünstigungen (in der Tradition von Donald Normans Design of Everyday Things ) für Prozesse als Mechanismus zum Entwerfen eines Prozesses geschrieben, der für Ihr Team funktioniert. Die Grundidee ist, dass die Praktiken in einem Prozess das Verhalten einer Person direkt beeinflussen. Daher treten Probleme auf, wenn die Leistungen in Ihrem Prozess nicht vollständig mit den Werten Ihres Teams übereinstimmen.

Ich habe mehrere Workshops zu diesem Thema durchgeführt und dieses spezielle Thema wird von Zeit zu Zeit in Gruppen als Beispiel angeführt. Die Anwendung der Theorie der Vergünstigungen auf den Fall, den Sie in Ihrer Frage geteilt haben, könnte ungefähr so ​​aussehen .....

Angenommen, Ihr Team legt Wert auf Konsistenz, Vorhersehbarkeit und hochwertigen Code.

Sie haben eine Wäscheliste mit negativen Verhaltensweisen, die Sie beobachtet haben, und alle scheinen auf die Verwendung von Fehlermetriken zur Auswahl eines Team-MVP zurückzuführen zu sein. Zum Beispiel scheinen Teamkollegen natürlich willkürlich Fehler auswählen und beheben zu wollen, was sich negativ auf alle drei Ihrer Werte auswirkt. (Ich gehe davon aus, dass es auch vorher ein Problem gab, und dies führte zur MVP-Idee).

Anstatt ein einziges MVP basierend auf Fehlermetriken zu haben, werden wir versuchen, das Teamverhalten zu ändern, indem wir einige kleine, aber signifikante Änderungen vornehmen.

  • Lassen Sie jeden (und alle, nicht nur eine) Person, die nachweislich Ihre Teamwerte anerkennt, ein "Team-Lob" aussprechen. Dies wird die Vorhersehbarkeit fördern, indem das Teamwertesystem anhand von Beispielen demokratisiert wird. (Wir machen das tatsächlich in unserem Team.)
  • Starten Sie die Paarprogrammierung (oder weisen Sie "Bug Buddies" zu) für alle Fehlerbehebungen. Dies fördert die Qualität, indem es voreilige oder halbherzige Programmierentscheidungen entmutigt und die Konsistenz fördert, da Freunde unberechenbares Verhalten mildern. (Diese Idee wird häufig während der Workshops vorgeschlagen, scheint intuitiv zu sein.)

Und dies sind nur einige Beispiele, um den Ansatz zu demonstrieren und Ihnen den Einstieg zu erleichtern ...

Das Besondere an diesem Ansatz ist, dass Sie Ihre Prozessänderungen aktiv gestalten und berechtigte Gründe für die von Ihnen vorgenommenen Prozessänderungen haben. Genau wie beim Objekt- oder UI-Design können Sie sogar Ergebnisse messen, um zu verstehen, ob die Dinge funktionieren oder nicht.


2

Eine der einfachsten Anpassungen, um sicherzustellen, dass so etwas wie ein MVP-Programm funktioniert, besteht darin, die Teammitglieder dafür zu belohnen, dass sie für den Erfolg des Teams am wertvollsten sind und nicht die härtesten Mitarbeiter.

Wir haben dies erfolgreich getan, indem wir Leute erkannt haben, die nicht einmal an Fehlern oder Funktionen gearbeitet haben, sondern etwas Großartiges getan haben, das allen im Team zum Erfolg verholfen hat. Zum Beispiel hatten wir einen Entwickler, der die Aufgabe übernahm, eine Reihe neuer Mitglieder im Team zu betreuen, damit sie die Architektur und unsere Arbeitsweise kennenlernen konnten. Unsere Geschwindigkeit stieg, weil wir diese neuen Mitarbeiter hatten, die in der Lage waren, schnell und effizient Ergebnisse zu liefern, obwohl die Geschwindigkeit eines Entwicklers individuell sank, weil er mehr Zeit damit verbrachte, dem Rest des Teams zu helfen.

Belohnen Sie die Teamarbeit, und das Team wird feststellen, dass es auf das TEAM ankommt, nicht auf den persönlichen Erfolg.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.