Entwickler schätzen nicht gerne. Was kann ich tun, um den Prozess zu verbessern?

Ich habe zwei Arten von Projekten:

  • Agile, wo Schätzungen mit Story Points unter Verwendung von Planungspoker gemacht wurden http://www.planitpoker.com/

  • Wasserfall/Kanban, bei dem Schätzungen für Stunden/Tage vorgenommen wurden, die nach Fachgebieten aufgeteilt sind. Wie FE/BE/QA/DevOps/Designer/PM usw

Das Problem ist, dass einige Entwickler keine Schätzungen mit beiden Methoden abgeben möchten. Weder persönliche Zeitschätzungen noch entpersonalisierte relative Story Points. Manchmal gibt es sogar Wutanfälle beim Schätzen oder sie lassen sich am Planungstag krankschreiben. Wenn ich mehrere Entwickler habe, werden sie warten, bis erfahrene Entwickler selbst Schätzungen abgeben. QAs wollen sich überhaupt nicht beteiligen, obwohl sie in jeder Hinsicht auch Entwickler sind.

Was ich probiert habe:

  1. Geben Sie ihnen Zeit, Geschichten und Spezifikationen zu überprüfen
  2. Lassen Sie sie das Problem mit praktischem Code untersuchen
  3. Kunde und PO planen immer Meetings, um alle Fragen zu beantworten
  4. Jede Geschichte hat Anwendungsfälle, Modelle, Kritzeleien und Designs
  5. Jede Geschichte zerlegt auf eine minimale wertvolle Größe, wenn Agile oder nicht weniger als 4 Stunden, nicht mehr als 8 Stunden, wenn Waterfall
  6. Es gibt keine persönliche Verantwortung für Schätzungen oder Strafen/Schuldzuweisungen für Unterschätzungen

Welche Techniken gibt es, um dieses Problem zu lindern? Was kann ich noch versuchen?

Wie wurden sie an Agile herangeführt? Verstehen sie überhaupt, was Agilität ist? Es kann schwierig sein, Entwickler dazu zu bringen, Schätzungen abzugeben, anstatt einfach in den Code zu springen, wenn sie nicht verstehen, warum. Stellen Sie sicher, dass sie wissen, warum Sie sie darum bitten, wie sie nützliche Schätzungen erstellen und wie es ihnen das Leben erleichtern wird (nicht nur, damit Sie etwas in Ihre Tracking-Tabelle einfügen können). Ihr Buy-in ist unerlässlich. Wenn Sie alle oben genannten Schritte durchgeführt haben und sie immer noch nicht kooperieren, suchen Sie entweder nach einer anderen Methode oder eskalieren Sie.
Beauftragen Sie das nächste Mal Profis. Einen Kostenvoranschlag abzugeben ist Teil des Jobs, agil oder nicht. Würden Sie Entwickler einstellen, die sich weigern, ihren Code zu testen oder zu übergeben? Schätzungen können falsch sein, vielleicht sogar aus gutem Grund, aber die Ablehnung ohne Angabe von Gründen ist ein Kündigungsgrund.
@Pedro ja, sie arbeiten alle seit Jahren agil. Probleme liegen nicht in einer Methodik, wie Sie sehen können, verwenden wir Scrum mit Storypoints und Kanban mit idealen Zeitschätzungen.
@nvoigt Sie sind hochqualifizierte Softwareentwickler, COO gibt mir kein Bonbon dafür, dass ich gute Entwickler aus dem Boot werfe.
@AlexanderAverchenko Im Moment sind sie nicht hochqualifiziert. Keinen Kostenvoranschlag abzugeben, ohne auf eine Möglichkeit hinzuweisen, dies in Zukunft zu tun (wie zu sagen: "um einen Kostenvoranschlag abzugeben, brauche ich xy"), ist einfach ... es ist nicht einmal unprofessionell, es weigert sich, ihre Arbeit zu erledigen. Das ist ihr verdammter Job . Ich verstehe nicht, wie man jemanden einen "guten Entwickler" nennen kann, der sich offen weigert, seinen Job zu machen. Das Eintippen von Code macht keinen guten Entwickler, das würde nur einen guten Code-Affen ausmachen. Bei der Entwicklung von Software geht es um mehr als nur Code. Und Ihre "Entwickler" versagen bei ihrer Arbeit.
„Wenn Sie nicht bereit sind, bei dem Prozess zu kooperieren, erleichtert das meine Arbeit. Natürlich haben Sie gerade gesagt, dass das Management nicht die Absicht hat, irgendjemanden zur Rechenschaft zu ziehen, „gibt mir keine Süßigkeiten, wenn ich gute Entwickler aus dem Boot werfe“. Das Problem sind nicht die Entwickler – das Problem ist, dass Ihr Management Sie zur Rechenschaft zieht, aber nicht bereit ist, sich an dem Prozess zu beteiligen.

Antworten (8)

Manchmal gibt es sogar Wutanfälle bei der Schätzung oder sie nehmen am Planungstag Krankschreibungen.

Das sind Erwachsene, von denen wir sprechen? Vielleicht sollten Sie sie direkt fragen, was das Problem mit Schätzungen ist. Ich denke, sie wollen vielleicht nicht dafür verantwortlich sein, wenn sie die Erwartungen nicht erfüllen, ist das wahr? Menschen können nicht härter arbeiten als sie können. Dies ist auch ein guter Grund, relative Größen zu verwenden.

Fragen Sie sich, warum und wie Sie die Schätzungen verwenden werden, und kommunizieren Sie dies ehrlich mit den Entwicklern. Ich denke, das Ziel sollte es sein, eine Prognose zu erhalten, aber wichtiger ist es, die Diskussion in Gang zu bringen, um Aufgaben kleiner und einfacher zu machen und eine gemeinsame Grundlage dafür zu schaffen, woraus die Aufgaben bestehen.

Um die Schätzungen zu erleichtern, verwenden Sie vielleicht eine feste relative Skala, auf die sich jeder beziehen kann. Ich bin auf „Das abstrakte Gewicht intelligenter Anwendungsfälle“ gestoßen, wie es von Smart verwendet wird (beschrieben in dem Buch „ This is Agile “ ) und in diesem Slide-Share verwendet wird .

Abstraktes Gewicht intelligenter Anwendungsfälle

1: Stück Kuchen

2: Moderat

3: Durchschnitt

4: Schwer

5: Sehr schwierig

8: Extrem, aber bekannt

10: Extrem und unbekannt

Ich denke, Schätzungen auf einer Skala wie dieser sind leichter zu verstehen als relative Story Points. Lassen Sie trotzdem alle blind abstimmen und gleichzeitig die Komplexität aufdrehen, um zu verhindern, dass sie sich gegenseitig beeinflussen. Diskutieren Sie dann, ob die Schätzungen nicht nahe beieinander liegen, sonst nur im Durchschnitt.

Ja, Erwachsene, aber talentierte Entwickler haben oft "besondere Qualitäten". Danke für die Waage, werde ich nächste Woche ausprobieren.

Dieses Thema ist nicht nur auf Entwickler oder Agile oder sogar in der IT-Branche beschränkt. Dies erstreckt sich über alle Branchen und alle Arten von Rollen.

Bei der Bereitstellung von Schätzungen geht es darum, die Zukunft so genau und genau wie möglich vorherzusagen, und die unbequeme Wahrheit ist, dass wir nicht in der Lage sind, die Zukunft mit einem wirklichen Maß an Genauigkeit oder Präzision vorherzusagen.

Der menschliche Zustand erwartet jedoch 100% Genauigkeit und Präzision, und alles andere ist kaputt und unbrauchbar. Wir erwarten endgültige Ergebnisse und glauben, dass wir tatsächlich die Kontrolle über die Zukunft haben. Tatsächlich ist unsere Welt in hohem Maße probabilistisch, unzuverlässig, unvorhersehbar und sehr zufällig. Aber das verkauft sich nicht, das kaufen die Kunden nicht, und wenn man Statistiken anspricht, werden alle glasig.

Das Problem beim Erhalten von Schätzungen ist die Kultur, in der diese Schätzungen vorgenommen werden. Es ist die Erwartung von 100 % Genauigkeit und Präzision und die schwerwiegenden Konsequenzen, die wir haben, wenn wir das nicht erreichen, vorausgesetzt, das Team hat gegen nur ein zufälliges Ergebnis innerhalb der normalen Verteilung möglicher Ergebnisse versagt. Gemeinsam haben wir Schätzverhalten erfolgreich aus unserem Verhaltensrepertoire herausgesucht, indem wir die falschen Dinge belohnt und die richtigen Dinge bestraft haben.

Wenn Sie dieses Verhalten ändern wollen, müssen Sie die kulturelle Dynamik ändern. Viel Glück damit.

Nein, es gibt keinen Druck, nicht in Schätzungen zu passen. Wir sind extrem loyal gegenüber Entwicklerfehlern. Allerdings finde ich Ihren Punkt über die Verbesserung der Kultur sehr interessant. Vielleicht könnt ihr mir etwas zum Lesen empfehlen?
"...Fehler." Die Kultur, über die ich geschrieben habe, ist sehr, sehr tief verwurzelt in der Conditio Humana. Ihr Kommentar zeigt dies.

Haben Sie versucht, ihnen beizubringen , wie man Schätzungen macht? Ich habe das in Ihrer Liste nicht gesehen, und nicht jeder "versteht" automatisch, wie es geht.

Ich bin auf zwei Hauptgründe für die mangelnde Bereitschaft gestoßen, Schätzungen vorzunehmen: Einer war die Angst, daran festgehalten zu werden, aber der andere war, dass sie es noch nie zuvor getan hatten, also fragte ich sie: „Wie lange, glauben Sie, wird das dauern ?" Sie antworteten ehrlich: "Ich habe keine Ahnung." Als ich sie drückte, sagten sie: "Nun, ich würde nur raten!" (Was beim Planen von Poker bedeuten könnte, dass man zufällig eine Karte zieht.)

Also haben wir darüber gesprochen, dass eine Schätzung eine Vermutung ist , aber es ist eine fundierte Vermutung, und jeder versteht das; und dann führte ich sie grob durch den mentalen Prozess, den ich verwende, um Schätzungen vorzunehmen, und sagte, dass sie natürlich zunächst nicht sehr gut darin wären, wenn sie es noch nie zuvor getan hätten, aber wir würden üben und sie würden besser darin werden es. Ich habe auch kontextualisiert, warum Schätzungen wichtig für uns als Team sind (Vertrauen in uns selbst aufbauen und unseren Stakeholdern vertrauen, dass wir in der Lage sein werden, das zu tun, was wir sagen, dass wir in der Lage sein werden), und wies auf dieses Lernen hin Schätzungen vorzunehmen ist auch ein guter Schachzug für die Karriereentwicklung. (Wenn die Leute, die Widerstand leisten, sich an „senior devs“ wenden, kann dies ein gutes Argument für sie sein.)

Ich denke, der einfachste Weg für Leute, mit Schätzungen zu beginnen, sind ideale Arbeitstage, dh angenommen, ich könnte 100 % meiner Zeit ohne Unterbrechung für diese Aufgabe aufwenden, wie lange würde ich dafür brauchen? Story Points können für Leute, die diese Fähigkeit gerade erlernen, zu abstrakt sein.

Zu Ihren QA-Leuten: Ich habe auch festgestellt, dass Leute zögern, sich an der Schätzung von Aufgaben zu beteiligen, an denen sie nicht direkt arbeiten werden, z. B. wollen Leute, die an einem Subsystem arbeiten, keine Arbeit schätzen, die vollständig in einem anderen Subsystem enthalten ist. Meine Lösung bestand darin, zu sagen: "Nun, Sie haben gesehen, wie lange die anderen Subsystem-Leute brauchen, um solche Aufgaben zu erledigen, also schätzen Sie es so gut ein." Sie zögern immer noch, aber zumindest habe ich ihnen eine Rubrik gegeben, der sie folgen können.

An diesem Punkt glaube ich nicht, dass Sie im Teamprozess noch etwas tun müssen. Ich würde eine oder mehrere der folgenden Methoden ausprobieren (in keiner bestimmten Reihenfolge):

  • Wenden Sie sich an jeden widerstrebenden Entwickler einzeln unter vier Augen und fragen Sie aus Neugierde, was das Problem ist, wenn sie Schätzungen vornehmen?

  • Wenden Sie sich an die Vorgesetzten der widerstrebenden Entwickler (vorausgesetzt, Sie sind das nicht?) und geben Sie Feedback, dass sie anscheinend geschult werden müssen, wie man Schätzungen macht. (IE, gerät nicht in "wird nicht" und Wutanfälle; konzentriere dich auf "scheine nicht in der Lage zu sein, diese Aufgabe zu erledigen", daher muss trainiert werden)

  • Wenden Sie sich an die Linienmanager und stellen Sie sicher, dass Ihre Erwartungen an die Verantwortlichkeiten der Entwickler mit ihren übereinstimmen, insbesondere. um Schätzung.

Ich habe festgestellt, dass Entwickler nervös sind, wenn es darum geht, Schätzungen abzugeben (wir haben sie in Schätzungen umbenannt), weil sie befürchten, dass sie zur Rechenschaft gezogen werden, wenn sie unterschätzen / überschätzen. Das schafft Unsicherheit, Angst und Befürchtungen.

Ich habe kürzlich festgestellt, dass Planungspoker dem Team bei der Entscheidung hilft, und ich habe daraus gute Schätzungen erhalten. Hast du das versucht? https://www.mountaingoatsoftware.com/agile/planning-poker

Es ist wie ein Kartenspiel und es kann Spaß machen. Ich habe dem Team auch erklärt, warum wir Schätzungen brauchen (und das ist alles, was sie sind – Schätzungen) und warum es besser ist, sie zu überschätzen als zu unterschätzen. Sie müssen in der Lage sein, eine Schätzung abzugeben, mit der sie zufrieden sind. Ich stimme hier David Espina zu. Schätzen macht Spaß. Ändern Sie es zum Besseren.

Danke, das verwenden wir bereits. Und für einige Entwickler ist es immer noch stressig.
Bist du dir sicher? „Wenn ich mehrere Entwickler habe, werden sie warten, bis die erfahrenen Entwickler selbst Schätzungen abgeben.“ weil dieser Satz sagt, dass Sie es nicht tun. Da beim Planning Poker jeder seine Schätzung zur GLEICHEN Zeit abgibt, heißt es auf der Seite: „Wenn das Feature vollständig besprochen wurde, wählt jeder Schätzer privat eine Karte aus, die seine Schätzung darstellt. Alle Karten werden dann gleichzeitig aufgedeckt.“ .
@Niels van Reijmersdal Hundertprozentig sicher. Wir verwenden planitpoker.com , sie liefern nur eine zufällige Schätzung für die 1. Runde und verwenden dann nach der Diskussion in der nächsten Runde einfach dieselbe Karte als Senior-Spezifikation.
@AlexanderAverchenko OMG! Du tust mir leid! ;-) Vielleicht ist es ein kulturelles Problem aus Respekt vor den Älteren? Ich erinnere mich, dass wir bei der Arbeit mit Teams in Bulgarien auch während der Schätzungssitzungen eine schwierigere Zeit hatten.
Ich buche einen Besprechungsraum und arrangiere das Team um den Tisch herum, und wir verwenden gute altmodische Karten, weil ich festgestellt habe, dass Sie mit Software nicht den gleichen Effekt erzielen. Ich habe die Software zugunsten von Teamdiskussionen und den nonverbalen Hinweisen aufgegeben, wenn alle Karten aufgedeckt werden. Ich habe auch gefragt, warum die Schätzungen so unterschiedlich sind, wenn gleichzeitig wirklich hohe und niedrige Schätzungen aufgedeckt werden. Ich finde das funktioniert. Probieren Sie es aus :)

Interessant, dass sich die Antworten darauf beziehen, dass das Team den Prozess nicht verfolgt oder geschult werden muss. Es gibt eine Bewegung in Agile um #noestimates, da das Gefühl besteht, dass sogar die Verwendung von Story Points in der PM-Schätzung der alten Schule verwurzelt ist.

Wenn Sie INVEST in Ihren Storys verwenden (Independent, Negotiable, Valuable, Estimable, Small und Testable), denken Sie darüber nach, was Sie in die Story einbauen. Jetzt geht es darum, Storys ähnlicher Größe zu erstellen. Sie können dann Ihre Metriken verwenden, um die durchschnittliche Zeit bis zum Abschluss zu berechnen, und diese anstelle der Geschwindigkeit (oder Arbeitsstunden) bei der Planung verwenden.

Schauen Sie sich die Arbeit an, die Alan Holub macht. Am Ende des Tages funktioniert es so genau wie der Versuch, es zu schätzen, wir würden und brauchen kein 10% Engagement des Teams.

Alles, was Sie bereits tun, was Sie oben aufgelistet haben, ist ausgezeichnet, und obwohl Sie noch ein paar Dinge tun können, gibt es nicht zu viel, bevor Sie es in die Kette aufnehmen. Dinge, die es wert sind, getan zu werden:

  1. Agile-Trainings haben. Studien zeigen, dass je besser ein Team sich mit Agilität auskennt, desto mehr werden sie es annehmen und desto besser werden sie zu einem Team.

  2. Arbeiten Sie mit Ihrem leitenden Entwickler zusammen, um dieses Problem zu lösen. Manchmal, wenn ein Scrum Master anscheinend nicht zum Junior-Entwickler durchdringen kann, kann der leitende Entwickler dies tun. Arbeiten Sie mit Ihrem leitenden Entwickler an der Entwicklung einer Teamkultur, die offen für Wertschätzung ist.

Wenn keines dieser Dinge funktioniert, müssen Sie leider ihr Verhalten mit ihren Vorgesetzten oder der Personalabteilung besprechen. Wenn ich persönlich ein Teammitglied hätte, das einen Wutanfall bekommt, würde ich es nicht loslassen. Das ist nicht nur unprofessionell, sondern auch ein schlechtes Beispiel für das Team, und wenn Sie ihn damit durchkommen lassen, wird er lernen, dass es ein akzeptabler und effektiver Weg ist, um aus der Schätzung herauszukommen.

Das ist jedoch ein letzter Ausweg!

Zuerst; wenn das Team die Geschäftsziele erreicht; Mach dir keine Sorgen.

SONDERN

Wenn ich die Kommentare über die jahrelange Arbeit mit agiler Methodik lese, vermute ich, dass Sie diese nur teilweise umsetzen. Ohne Sprint-Planung verwenden Sie Agile nicht.

Dies wäre eine gute Frage, die man in den Retrospektiven angehen könnte; da der Prozess eindeutig davon profitieren würde. Wenn die Planung dauerhaft zu niedrig ist: Auch damit sollten Sie im Nachhinein umgehen.

Wer hat was von Scrum gesagt? Ich sehe Agile erwähnt. Ich sehe Wasserfall und Kanban erwähnt, aber nirgendwo sehe ich das Wort „Scrum“.
Ich habe gesehen: Storypoints, Planning Poker; also bin ich von Scrum ausgegangen; wird zu Agile bearbeiten

Aus der Perspektive eines Entwicklers führt die Ausgabe einer Schätzung zu der folgenden Wahrscheinlichkeitsverteilung über die Ergebnisse:

  • 50% Chance zu überschießen, wodurch nicht nur mehr Aufgaben übernommen werden müssen, sondern auch die Leute dich als faul ansehen
  • 50% Chance zu unterschreiten, also zu spät gemacht und vom Manager angeschrien zu werden
  • 0% Chance, richtig geschätzt zu haben
  • 100 % Chance, Zeit mit einer Aufgabe zu verbringen, die dem Entwicklungsaufwand nicht direkt zugute kommt

Um also das Codieren abzuschaffen und mit dem Schätzen fortzufahren, ist Zuckerbrot oder Peitsche erforderlich.

Aus der Perspektive von 4 agilen Arbeitsplätzen gesprochen, von denen meiner Meinung nach keiner gut funktioniert hat. Einer war ein führender deutscher Automobilhersteller. Ein anderer war ein Silicon Valley ... Unternehmen.