Sollte die Zeit des Testers bei der Schätzung der Tickets berücksichtigt werden?

17

Soll beim Erstellen von Zeitschätzungen für Tickets die für Tester (QAs) benötigte Zeit in eine Ticketschätzung einbezogen werden? Wir haben früher immer ohne die Tester Zeit geschätzt, aber wir sprechen immer davon, es einzuschließen. Es ist sinnvoll für unseren aktuellen Sprint, den letzten vor einer Veröffentlichung, da wir wissen müssen, wie viel Zeit die Tickets insgesamt für eine Woche in Anspruch nehmen.

Ich habe immer verstanden, dass die Schätzung nur für die Entwicklerzeit gilt, da dies die begrenzte Ressource in Teams darstellt. Ein Kollege sagt, dass dort, wo er vor dem Test gearbeitet hat, auch Zeit für den Test war.

Dies ist ein Prozess, in dem Entwickler Unit-, Integrations- und UI-Tests mit guter Abdeckung schreiben.

TÜbertragen
quelle
Was ist mit der Zeit für Bugfixes, die sich aus Problemen ergeben, die der Tester findet? Das ist wirklich schwer einzuschätzen :).
Frank Puffer
3
Ist das Testen Teil Ihrer Definition von "erledigt" oder handelt es sich um ein ganz anderes Team / eine ganze Abteilung?
Novoigt
2
Es ist durchaus möglich, dass der Testaufwand den größten Teil der für ein "Ticket" aufgewendeten Zeit ausmacht. Also, IMO; Ja.
Grimm The Opiner
@nvoigt Testing ist Teil unserer Definition von done.
TTransmit

Antworten:

33

Meine Empfehlung: Sie nehmen entweder die Testzeit in das Ticket auf oder fügen ein Ticket hinzu, das die Testaufgabe selbst darstellt. Jeder andere Ansatz führt dazu, dass Sie den tatsächlichen Arbeitsaufwand unterschätzen.

Während die Entwicklerzeit oft ein Engpass ist, gibt es meiner Erfahrung nach viele Teams, die auf Tests beschränkt sind. Vorausgesetzt, die begrenzende Ressource ist die eine oder andere ohne Beweise, kann Sie beißen.

Als Ihr Kollege habe ich keine erfolgreiche Organisation gesehen, die die Testzeit nicht berücksichtigt.

Nachtrag zur Klarstellung: Auch wenn Entwickler automatisierte Tests schreiben, insbesondere Komponententests (Integrationstests sind besser), reichen sie nicht aus, um ordnungsgemäß zu testen.

Wenn es sich um QA-Mitarbeiter handelt, muss ihre Zeit auf die eine oder andere Weise geschätzt werden. Nur wenn Sie sich dazu entschließen, QA-Mitarbeiter von der Gehaltsliste zu streichen, ist ihre Arbeitszeit effektiv vergangen, und Sie können sie aus der Schätzung streichen. Dies hätte jedoch Nebenwirkungen, die leicht zu ignorieren sind. Und es fehlen möglicherweise noch Leistungs-, Stress-, Sicherheits- und Akzeptanztests.

Bruno Guardia
quelle
6
Der Ort des Engpasses hängt vom Unternehmen ab. Bei mir haben wir 8 Entwickler, die eine QS-Ressource füttern. QA ist offensichtlich der Engpass
Marshall Tigerus
2
Ich bin damit einverstanden, dass das Hinzufügen eines Tickets zum Testen hier eine gute Option ist. Es klingt so, als hätte OP keine Kontrolle über die Qualitätssicherung und es wird von einem separaten Team durchgeführt. Wenn sie etwas falsch finden, kann dies als Fehler angesehen werden und ein neues Ticket für die Korrektur / Änderung erstellt werden.
Mein Kopf tut weh
@ MarshallTigerus: Ich denke, es ist im Allgemeinen einfacher, die Mitarbeiter zu koordinieren, die für die Bereitstellung der QS für N-Entwickler erforderlich sind (die genaue Anzahl hängt vom Produkt ab), als N-Entwickler zu koordinieren. In gewissem Sinne sollte QA nicht der Engpass sein, sondern Sie sollten eine andere QA einstellen (und einen Entwickler entlassen, um Gehalt und Platz auf dem Schreibtisch zur Verfügung zu stellen, aber hoffen wir, dass dies nicht der Fall ist). Natürlich ist nicht immer alles so, wie es sein sollte.
Steve Jessop
1
+1 für ein anderes Ticket macht es viel einfacher zu wissen, wo Dinge stecken bleiben.
Matthieu M.
1
@SteveJessop Viele Dinge "sollten" passieren :)
Marshall Tigerus
19

Nachdrücklich ja

Testen ist Teil des Entwicklungsprozesses. Wenn Ihr Team tatsächlich Zeit mit dem Testen der Software verbringt, muss die für das Testen aufgewendete Zeit Teil der Schätzung sein.

Bryan Oakley
quelle
5

Wenn dies agil ist, würde ich den Testaufwand als Teil der gesamten Story-Punkte einbeziehen. Zum Beispiel, Entwicklungsaufwand vielleicht 1 Tag und Testen 1 Tag, so dass eine 2-Punkte-Geschichte wäre.

Es hängt davon ab, was Ihre Definition von "erledigt" ist. In der Regel wird die Iteration jedoch von der Vollständigkeit der Entwicklung, der Geschäftsakzeptanz und dem Test bestätigt. Wenn es sich bei der DoD nur um eine Geschäftsannahme handelt, muss der Testaufwand nicht in die Story Points einbezogen werden, er sollte jedoch nachverfolgt werden.

Jon Raynor
quelle
2

Der Kostenvoranschlag sollte alle für die Fertigstellung des Tickets erforderlichen Arbeiten berücksichtigen. Wenn das Testen ein erforderlicher Bestandteil des Tickets ist, sollte es in den Kostenvoranschlag einbezogen werden. Wenn es sich beim Testen um ein separates Ticket handelt, sollte dies nicht der Fall sein.

Das kann natürlich alles unscharf werden, wenn Sie mit der Verwendung von Story-Punkten beginnen, da der Unterschied zwischen einer dev-only 5 und einer dev-only 8 ziemlich proportional zu einer dev-and-QA 5 im Vergleich zu einer dev-and-QA 8 ist.

Ich habe unter anderem Testerzeitarbeit gesehen. Ich habe verschiedene Geschichten gesehen. Ich habe separate Aufgaben gesehen, von denen jede von der Gruppe, die sie ausführt, geschätzt wird. Tun Sie, was für Sie Sinn macht, schließlich ist der Prozess dazu da, Ihnen zu dienen, nicht umgekehrt.

Telastyn
quelle
2

Die Tatsache, dass Sie dies nicht beantworten können, legt nahe, dass Sie nicht wissen, warum Sie Schätzungen schreiben (oder zumindest nicht mit Ihrem Kollegen übereinstimmen, warum Sie Schätzungen schreiben). Dies ist ein größeres Problem als die Frage, ob die Schätzungen Tests enthalten sollten oder nicht.

Finden Sie heraus oder einigen Sie sich, warum Sie Schätzungen schreiben. Um vorherzusagen, was ein bestimmtes Team in einer bestimmten Zeit erreichen wird, hängt die Antwort einfach davon ab, ob das Team, für das Sie eine Schätzung abgeben, die Tests durchführt oder nicht. Wenn Ihr QA-Team getrennt ist und eine eigene Planung hat, ist es möglicherweise interessant zu wissen, wie viel Testzeit Sie (die Entwickler) für ein bestimmtes Ticket von ihnen benötigen. Sie können Ihre Zahlen ignorieren und ihre eigenen eingeben. In beiden Fällen können sie dies getrennt von den Entwicklungszeitschätzungen verfolgen.

Auf der anderen Seite, wenn ein Team alle Entwicklungs-, Test- und Qualitätssicherungsarbeiten durchführt und der Zweck der Zeitschätzungen darin besteht, vorherzusagen und zu planen, was dieses Team in einem bestimmten Zeitrahmen tut, müssen die Zeitschätzungen natürlich enthalten QA, zusammen mit allen anderen Aufgaben, die dieses Team ausführen muss, um das festgelegte Ziel zu erreichen. Wenn Sie für jedes Ticket ein Kick-off-Meeting haben oder nach Abschluss einige Unterlagen ausfüllen müssen, muss die Zeit für den Administrator irgendwo drin sein . Sie können es nicht einfach ignorieren.

Wenn es sich nur um ein Team handelt, jedoch mit getrennten Rollen "Entwickler" und "Tester", bedeutet dies möglicherweise, dass Sie eine Menge Tickets haben, an denen nur eine Seite der Kluft arbeiten kann, und dass Ihr (möglicherweise völlig hypothetisches) Gantt-Diagramm aussieht genau so würde die Grafik für zwei separate Teams aussehen. Diese Tatsache wird einige Methoden mehr stören als andere, und Sie sind möglicherweise besser dran, die Planung zu teilen. Wenn Sie sie jedoch nicht aufteilen, müssen Sie alles veranschlagen und abschätzen, was das Team tun muss, oder Ihre Vorhersagen sind hoffnungslos .

Wenn der Zweck der Schätzungen etwas anderes als Vorhersage und Planung ist, zum Beispiel "weil wir gedankenlos einem leeren Ritual folgen, das sie einschließt", oder "weil das Management sie als Stange benutzt, um uns zu schlagen und Überstunden aus uns herauszuholen", oder "weil wir ein Festpreisgebot abgeben müssen und die Zahlen in eine enorme Formel passen" (danke John Wu), dann könnte es schwieriger sein, herauszufinden, was sie enthalten sollten ;-)

Steve Jessop
quelle
1

Schätzen Sie immer alle Arbeiten ab, die durchgeführt werden müssen, um eine User Story / ein Feature / ein Ticket wirklich fertig zu stellen. Wir nennen das DoneDone .

Wir sind fertig, wenn wir produktionsbereit sind .

Dies schließt manuelle und explorative Tests, aber auch Benutzerakzeptanztests ein.

Ein agiles Team sollte jederzeit in der Lage sein, einen neuen Teil der fertigen Arbeit freizugeben. Wie:

Arbeitssoftware ist das primäre Maß für den Fortschritt.

Woher wissen Sie, ob es funktioniert, wenn Sie es nicht getestet haben? Jetzt schreiben Sie, dass die Entwicklungszeit der Engpass Ihrer Zeit ist. Als QS-Ingenieur denke ich, dass die meisten Teams einen Engpass in der Testkapazität haben oder nur Abkürzungen nehmen.

Um es kurz zu machen, schätzen Sie auch den Testaufwand. Beachten Sie, dass dies Ihre Geschwindigkeit beeinflussen kann . Wenn Sie relative Schätzungen in Story-Punkten vorgenommen haben, sind die Tests möglicherweise bereits in Ihrer Durchschnittsgeschwindigkeit enthalten.

Niels van Reijmersdal
quelle
1

Hier ist etwas sehr Wichtiges: Alle Schätzungen sollten von Annahmen und Ausschlüssen begleitet sein .

Dies beinhaltet die Angabe der Inhalte: Nur Entwicklung, Design und Entwicklung, Entwickler- und Komponententests, Abdeckung für Abnahmetests, Aufbau der Infrastruktur usw.

Wenn Sie einem Projektmanager ein Voranschlagsdokument zur Verfügung stellen, wird dieses Dokument in einen Arbeitsauftrag oder eine Arbeitsaufstellung für einen Kunden oder (wenn es sich um ein internes Projekt handelt) für das PMO konvertiert . Möglicherweise verfügen sie über festgelegte Formeln zum Hinzufügen von Gemeinkosten (bei einigen Projekten werden möglicherweise X% für die Qualitätssicherung und anschließend Y% für die Governance und das Projektmanagement hinzugefügt), die vertraglich oder erfahrungsgemäß festgelegt werden. Und du willst nicht doppelt zählen. Andererseits fügen sie diese möglicherweise nicht automatisch hinzu.

Praktiken unterscheiden sich. Wer diese Zahlen verwendet, muss wissen, was die Zahlen bedeuten, und Sie sollten genau angeben, ob Sie die Testzeit einbeziehen oder nicht.

John Wu
quelle
1

Die Zeit sollte in die Schätzung einbezogen werden, aber Sie sollten nicht die Zeit des Testers schätzen , sondern die Zeit des Testers .

Das Auslassen der Testzeit ist eine falsche Schätzung der Gesamtzeit, aber Entwicklerzeit und Testerzeit sind nicht austauschbar (nicht zuletzt, weil Sie vermutlich parallel arbeiten und die Tester eine Iteration hinter sich haben). Sie sollten sie daher separat schätzen. Darüber hinaus sind Sie nicht in der Lage, die Zeit einzuschätzen, die Tester zum Testen von Änderungen benötigen. Dies sollte nur von der Testmannschaft selbst durchgeführt werden.

Jack Aidley
quelle
1
Da , dass es das sind Sie , dass Füllungen im Ticket, und dass die Testzeit aufgenommen werden sollte, dann sollte der Entwickler enthalten eine ‚guestimate‘ für die Prüfung, für die spätere Verfeinerung. Es ist alles zu einfach, ein Schwarzes Loch mit einer Schätzung von Fang 22 nach bestimmten Regeln zu erstellen ... Diese Löcher treten bei vielen Aufgaben zum Ausfüllen von Formularen auf.
Philip Oakley
0

Verkapselung

Ich werde mich dem aus der Sicht der Softwareentwicklung und der Sprache nähern.

  • Sie sind ein kleines Zahnrad in einer großen Maschine.
  • Von außerhalb Ihres Teams fungiert Ihr Ticketing-System als Schnittstelle / API zu Ihrem Team
  • Geschäftsanwender, die das Ticketing-System verwenden, sind keine Entwickler

Von einem guten Softwaredesign sollten Sie so viel wie möglich vereinfachen und kapseln.

Um den Prozess aus der Sicht der Geschäftsbenutzer zu betrachten, kümmern sie sich wirklich nur um zwei Dinge.

  1. Wie viel wird es kosten?
  2. Sind wir schon fertig?

Dem Geschäftsbenutzer zu erlauben, über den internen Prozess Ihres Teams Bescheid zu wissen, ist schlechtes Management. ähnlich wie publicZugang zu internen Zustand zu geben.

Wenn Sie den internen Status Ihres Teams nicht schützen, werden andere Teams aufgefordert, Ihre Ressourcen zu verwalten und sich mit Ihrem internen Status zu befassen.

Kunst
quelle