In einem IT-Projekt:
- Wer sollte an der Zeitschätzung teilnehmen? Entwickler, Teamleiter, Scrum Master und so weiter?
- Wessen Stimme sollte am meisten gezählt werden?
In einem IT-Projekt:
Antworten:
Es geht nicht so sehr um die beteiligten Personen, sondern um die Fähigkeiten, die vorhanden sein müssen:
Ein gutes Verständnis der Problemdomäne - dies ist besonders wichtig, wenn die Anforderungen nicht eindeutig oder auf hohem Niveau sind. Als Programmierer, der noch nie auf Reisen gearbeitet hat, um die Arbeit in Bezug auf Ticketklassen in einem Flugzeug zu schätzen, gehen sie davon aus, dass es 3 oder 4 gibt (Wirtschaft, Geschäft, zuerst usw.), aber wenn Sie auf Reisen gearbeitet haben, wissen Sie Bescheid dass es Dutzende gibt. Dies kann bedeuten, dass ein Business Analyst oder ein erfahrener Benutzer beteiligt ist, obwohl die Entwickler im Laufe der Zeit selbst diese Art von Wissen aufbauen werden.
Ein Verständnis für die Technologie und die damit verbundene Arbeit - normalerweise ein Entwickler, obwohl ein Manager mit jüngster Erfahrung, der das Vertrauen des Teams hat, die Arbeit oft erledigen kann. Im Idealfall erhalten Sie jedoch die Person, die die Arbeit tatsächlich auf diese Weise erledigt, in den Kostenvoranschlag.
Ein Verständnis des Schätzprozesses - das ist der Schlüssel. Es muss ein Verständnis dafür vorhanden sein, wie eine anständige Schätzung durchgeführt wird, wie sichergestellt wird, dass sie richtig ist, ob ein angemessenes Maß an Kontingenz vorliegt, ob doppelt gezählt wird oder zu viel Polsterung vorhanden ist. Normalerweise bringt dies ein PM, ein Entwicklungsmanager oder ein leitender Entwickler mit, obwohl in einigen Prozessen eine solide Schätzvorlage die erforderlichen Anleitungen liefern kann.
Diese Fähigkeiten können in einer Person sein, obwohl sie manchmal drei oder mehr benötigen, aber der Schlüssel ist sicherzustellen, dass diese Fähigkeiten vorhanden sind, nicht dass bestimmte Personen anwesend sind.
Das heißt, im Allgemeinen würde ich nach mehr als zwei Personen suchen, da Sie die zusätzliche Sicherheit wünschen, dass zwei oder mehr Personen, die sich gegenseitig überprüfen, die Arbeit bringen.
In Bezug darauf, wessen Stimmen am meisten gezählt werden, funktioniert das nicht so. Es ist eine Diskussion und eine Verhandlung. Wenn ein Manager der Meinung ist, dass die Einschätzung der Entwickler zu hoch ist, muss er erklären, warum und den Entwickler herausfordern (nicht unter Druck setzen), dies zu rechtfertigen, und er muss einen Konsens erzielen. Für den Fall, dass Sie diese Einigung nicht erzielen können, würde ich aus Erfahrung zwei Dinge sagen:
(a) Gehen Sie nicht mit der Nummer, die Sie "wollen", es fragt nur nach Ärger und was Sie wollen, hat keinen wesentlichen Einfluss darauf, wie schnell die Arbeit erledigt werden kann.
(b) In so ziemlich jedem Fall, in dem ich gesehen habe, dass ein Entwickler aufgrund einer Schätzung überstimmt hat, ist die endgültige Zahl näher an das herangekommen, was der Entwickler dachte, als wer auch immer über sie entschieden hat - hauptsächlich, weil sie Punkt (a) ignoriert haben. über.
(Das heißt in Agile, glaube ich, und sicherlich in XP, die Regel ist, dass die Entwickler die Schätzungen kontrollieren und das ist endgültig. Wenn die Benutzer die Schätzungen senken wollen, müssen sie die Anforderung für etwas Einfacheres ändern.)
Ich weiß nicht, ob es eine einheitliche Antwort auf diese Frage gibt. Wo ich arbeite, gibt es normalerweise zwei Ingenieure aus dem Team, die die Funktion / den Fix implementieren und eine Schätzung liefern. Daher liefern jeweils zwei Ingenieure eine "min" -, "max" - und "erwartete" Schätzung. Wir würden normalerweise erwarten, dass beide Schätzungen einigermaßen konsistent sind. Wenn sie sich also stark unterscheiden, ist möglicherweise eine weitere Diskussion erforderlich (möglicherweise hat ein Ingenieur Annahmen getroffen, die der andere nicht getroffen hat usw.).
In unserer Situation wird niemandes "Stimme" als solche gezählt. Wir mitteln normalerweise nur die beiden Schätzungen (denken Sie daran, wenn sie sich nicht bereits im selben Stadion befinden, lehnen wir beide ab und beginnen erneut mit den Diskussionen, sodass es kein großer Sprung ist, den Durchschnitt zu ermitteln). Die Schätzungen sind schließlich nur Schätzungen, daher müssen sie nicht genau sein .
Nach meiner Erfahrung werden Schätzungen in der Regel von der Person vorgenommen, die die Aufgabe höchstwahrscheinlich selbst erledigt. SCRUM-Teams sollten sich bemühen, funktionsübergreifend zu sein, aber nach einer Weile werden bestimmte Arten von Aufgaben normalerweise von denselben Personen ausgeführt.
Von entscheidender Bedeutung ist es, dass das Team alle Schätzungen akzeptiert. Wenn ein Entwickler das Gefühl hat, eine Schätzung zu besitzen, wird er daran arbeiten, diese zu erfüllen. Wenn den Entwicklern eine Schätzung ausgehändigt wird, dass sie dies nicht selbst getan haben und keinen Einfluss darauf hatten, fühlen sie sich nicht gleich verantwortlich und Überziehungskredite werden mit "Ich habe dir gesagt, dass es länger dauern würde" erklärt.
Ein Projekt hat Geschäftsanforderungen und Fristen, die von oben nach unten kommen. Dies sind "gegebene Schätzungen" für die erste Iteration.
Diese Anforderungen müssen auf die größten Aufgaben mit 100% bekannten Kosten aufgeteilt werden (z. B. "Protokollierung aktivieren" = 2 Stunden = " log4j / SLF4J herunterladen und einstecken").
Die Schätzung sollte auf höchstem Niveau erfolgen, das bereits über ausreichend technisches Fachwissen verfügt.
Die korrigierten Schätzungen müssen in Form eines "sichtbaren Geschäftsmerkmals" = "diese Zeitspanne" zurückgeführt werden, bis sie den Geschäftsinhaber auf einem angemessenen Niveau erreichen, Anforderungen fallen lassen / ändern oder Fristen lockern können. Dann wieder runter. Bis zur endgültigen Konvergenz. In der Praxis neigen die Menschen dazu, diese Phase zu ignorieren oder zu vereinfachen, was wiederum zu Risiken führen kann, die mit versäumten Fristen und Chancen verbunden sind.
Wer oder wessen sollte an der Zeitschätzung teilnehmen? Entwickler, Teamleiter, Scrum Master und so weiter?
Ich ziehe es vor, dass alle bei der Zeitschätzung dabei sind, und wir tun hier das Gleiche
Wer oder wessen Stimme sollte am meisten gezählt werden?
Entwickler, aber es geht immer noch um Teamarbeit
DIE ENTWICKLER MIT DER UMSETZUNG DES PROJEKTS! NIEMAND ANDERS!
Die Entwickler, die die eigentliche Arbeit erledigen, und die Leiter des Entwicklungsteams sind die einzigen, die richtig einschätzen können, wie viel Zeit es wirklich dauern wird. Nur Programmierer, die mit der tatsächlichen Codebasis vertraut sind, können die potenziellen Schwierigkeiten und Fallstricke verstehen, die im Verlauf der Entwicklung auftreten können. Alle anderen sind Zuschauer.
Darüber hinaus kann man Entwicklern nur dann vertrauen, wenn sie ihnen vertrauen und sich auf ihr Fachwissen verlassen, sodass Entwickler wissen, dass sie nicht bestraft werden, wenn ihre Schätzung nicht den Erwartungen des Unternehmens entspricht.
Faustregel: Es dauert mindestens dreimal so lange wie die Schätzung eines Projektmanagers oder einer Geschäftsperson, die mit den Herausforderungen der praktischen Entwicklung und der fraglichen Codebasis nicht vertraut ist.
Als jemand, der seit fast 20 Jahren als freiberuflicher Entwickler und als Angestellter in großen Unternehmen tätig ist, sage ich dies mit größter Sicherheit und mit dem Vorteil einer Menge bitterer Erfahrung.