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.
agile
scrum
estimation
qa
TÜbertragen
quelle
quelle
Antworten:
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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 ;-)
quelle
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 .
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:
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.
quelle
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.
quelle
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.
quelle
Verkapselung
Ich werde mich dem aus der Sicht der Softwareentwicklung und der Sprache nähern.
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.
Dem Geschäftsbenutzer zu erlauben, über den internen Prozess Ihres Teams Bescheid zu wissen, ist schlechtes Management. ähnlich wie
public
Zugang 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.
quelle