Ich denke, Franks und Encaitas Antworten decken es ziemlich genau ab, aber es gibt einige zusätzliche Dinge zu beachten:
Warum Story Points verwenden?
Das Ziel der Schätzung mit Story Points ist es, die relative Komplexität der Entwicklung von Features für Ihre Anwendung anzugeben. Eine einfache Möglichkeit, darüber nachzudenken, besteht darin, eine Geschichte aufzunehmen, die Sie im kommenden Sprint haben, z. B. eine Änderung der URL. Sie wissen, dass dies in Bezug auf die Komplexität einfach ist und klar definierte Akzeptanzkriterien hat, sodass das gesamte Team der Meinung ist, dass es auch beim Testen eine 1 ist (unter Verwendung der Fibo-Skala).
Die nächste zu schätzende Geschichte besteht darin, eine Reihe von Benutzerdaten zu aggregieren und diese am Frontend zu visualisieren. Als Entwickler wissen Sie sofort, dass dies viel komplexer ist als das Ändern einer URL. Sie besprechen die Story und die Akzeptanzkriterien, haben viele Fragen und sehen verschiedene mögliche Lösungen dafür. Die anderen Entwickler und QA sind sich ebenfalls einig, dass es sehr komplex ist. Sie sind sich also alle einig, dass es sich um eine 34-Punkte-Geschichte handelt. Es ist erwähnenswert, dass Sie auf der Fibo-Skala auch angeben können, wie viel Vertrauen Sie in das Esimate haben. Je größer die Lücken zwischen den Zahlen, desto weniger Vertrauen haben Sie in Ihre Schätzung
An diesem Punkt sollte Ihr Scrum-Meister springen und sagen, dass dies als einzelne Story zu groß ist und in kleinere Storys mit weniger Komplexität unterteilt werden muss. Sie können dies erreichen, indem Sie sogenannte SPIKES ausführen. Dies ist nur eine Weile, um etwas zu untersuchen. Für dieses Beispiel stimmen Sie und die anderen Entwickler zu, dass Sie 4 Stunden Zeit haben möchten, um die möglichen technischen Lösungen zu diskutieren und zu untersuchen.
Um es kurz zu machen, Sie teilen diese große Geschichte in vier weitere Geschichten mit 5, 8, 8 und 13 Punkten auf. Nein, denken Sie daran, dass es sich bei diesen Schätzungen nur um relative Komplexität handelt. Sie müssen sich nicht auf die ursprüngliche Schätzung summieren. Außerdem verfügen Sie jetzt über weitere Informationen, um eine genauere Schätzung vorzunehmen.
Anschließend stimmen Sie als Team zu, dass Sie für diesen Sprint die 13-Punkte-Story, eine 8-Punkte-Story und die 1-Punkt-URL-Änderung, die Sie bereits identifiziert haben, erstellen möchten. Also insgesamt 22 Punkte. Beim nächsten Sprint bekommst du 27 Punkte, beim nächsten Sprint bekommst du 18 Punkte. Nach 3 Sprints können Sie beginnen, ein gewisses Vertrauen in Ihre Geschwindigkeit zu bekommen (Geschwindigkeit ist die Menge an Arbeit, die Ihr Team in einem Sprint erledigen kann). Um die Geschwindigkeit zu ermitteln, wird der Durchschnitt der vorherigen Sprints berechnet. In diesem Beispiel ist der Durchschnitt (22 + 27 + 18) / 3 = 22,3, also runden Sie ihn auf der Fibo-Skala auf den nächsten Wert (21).
Für den nächsten Sprint musst du nur 21 Punkte erreichen.
Lassen Sie sich nicht davon abbringen, Ihre Story-Point-Schätzung genau richtig zu machen - es ist keine exakte Wissenschaft. Sie wissen, dass eine URL-Änderung weitaus weniger komplex ist als das Zusammenfassen von Daten, also bewerten Sie sie einfach entsprechend.
Darüber hinaus ist es gut, diese Dinge im Team zu diskutieren. Sehen Sie sich Ihre Schätzungen während der Sprintüberprüfung noch einmal an und besprechen Sie, ob Sie mit ihnen zufrieden waren oder nicht, und geben Sie diese Informationen an die nächste Sprintplanungssitzung weiter.
Das ganze Team schätzt
Das gesamte Team muss sich auf eine einzige Schätzung für jede Geschichte einigen. Ein Feature wird erst fertiggestellt, wenn es produktionsbereit ist. Nur den Code schreiben zu lassen, ist noch lange nicht erledigt. Meiner Erfahrung nach waren Scrum-Teams bei der Arbeit als Team weitaus effektiver. Nehmen Sie ein Beispiel für das Team, mit dem ich gerade zusammenarbeite. Als ich dazukam, machten sie alle Sprint-Meetings und planten Poker, aber während des Sprints war der Prozess 1. BAs / Product Owners definieren die Anforderungen als Storys mit Akzeptanzkriterien und Akzeptanztests Code 3. Der Entwickler hat den Code in den Entwicklungszweig eingefügt, damit QA testen kann. 4. QA-Test, dann beginnen sie, Fragen zu stellen, und die Tests schlagen fehl, sodass die Entwicklung fortgesetzt wird.
Was fehlt hier? Es gibt nicht genug Diskussionen im Vorfeld und jedes Teammitglied hat nur seine eigene Aufgabe gesehen. Jetzt kommen BA / PO, Entwickler und QA zusammen, bevor sie einen Code schreiben, um die Anforderungen im Detail zu besprechen und Fragen vorab zu stellen, und setzen dann die Diskussion während des gesamten Sprints fort. Dies ist weitaus effizienter und führt zu qualitativ besseren Lösungen.
Das Planen von Poker hilft dabei, da das Team gezwungen ist, die Funktion zu diskutieren und sich als Team darauf zu einigen, wie komplex die Bereitstellung dieser Funktion ist. In der traditionellen Softwareentwicklung war der Projektmanager für die Bereitstellung des Projekts verantwortlich, aber jeder, der Erfahrung mit diesem Ansatz hat, weiß, dass es nicht funktioniert, da die Leute häufig nicht die Verantwortung für ihren Anteil an der Bereitstellung der Anwendung übernehmen. In Agile sollten Sie keine Projektmanager benötigen, da das Team die Verantwortung für die Bereitstellung der Anwendung insgesamt übernimmt.
Pünktliche Einschätzung der Aufgaben
Ich bin der Ansicht, dass ich mit Teams gearbeitet habe, die die Zeit für Aufgaben schätzen, und mit Teams, die nur Story Point Esimtates durchführen, NICHT ZEITSCHÄTZUNGEN! Sie sind eigentlich nur Zeitverschwendung. Sie sind nicht so genau wie Story Points, weil sie für Einzelpersonen und nicht für das Team spezifisch sind und jeder Einzelne eine andere Vorstellung von der Zeitschätzung hat (die Flamme entzünden).
Story Points akzeptieren, dass sich Dinge, dh Anforderungen, ständig ändern, sodass Sie wirklich einen Indikator dafür benötigen, was das Team in einem Sprint schaffen kann.
Sobald Sie die Geschwindigkeit verstanden haben, können Sie Ihre Ergebnisse rechtzeitig messen, da Sie wissen, was Sie in jedem Sprint tun können, z. B. alle zwei Wochen, welche Funktionen geliefert werden können. Ihr Scrum Master und Ihre Produktbesitzer sollten Schätzungssitzungen abhalten, um einen Ausblick auf zukünftige Sprints zu erhalten. Dann können Sie einen Indikator dafür erhalten, wie viel Arbeit Sie in den kommenden Monaten erledigen werden. Auf diese Weise können Produktbesitzer Prioritätsentscheidungen darüber treffen, welche Funktionen in die endgültige Anwendung aufgenommen werden sollen.
Ich habe Entwickler gebeten, die Zeit für die Planung von Aufgaben zu schätzen, aber ich bin mit diesem Ansatz überhaupt nicht einverstanden (in der Tat bin ich mit diesem Ansatz überhaupt nicht einverstanden), weil er nicht genau ist. Ein Entwickler kann nur die Zeit für die eigentliche Aufgabe angeben, ein anderer fügt möglicherweise Zeit für das Zubereiten von Tassen Tee hinzu!
Zeitschätzungen werden immer zu Berichtszwecken an eine andere Person weitergegeben und es werden auch die einzelnen Elemente der Bereitstellung eines Features im Vergleich zum gesamten Teamaufwand überbetont.
Schätzung ist nicht das größte Problem
Abgesehen davon ist es meines Erachtens nicht das größte Problem, die Schätzung herauszufinden. Das Wichtigste ist, als Team zusammenzuarbeiten, um die Dinge während des Sprints zu erledigen, damit Sie nicht alles am letzten Tag zum Testen übergeben. Sie möchten während des 2-wöchigen Sprints eine stetige Menge an Funktionen sehen. Die Teamdynamik, die ich oben erklärt habe, ist ein großer Teil davon. Die Geschichtspunktschätzung hilft Ihnen dabei, dies zu planen, da Sie sehen, welche großen Geschichten in kleinere zerlegt werden müssen, die regelmäßig getestet werden können.