Sollten Fehler-/Regressionstickets erneut geöffnet oder neue Tickets erstellt werden?

Frage

Das ist ein Paradoxon, das ich habe: Wenn ich GitHub-Probleme (oder JIRA-Tickets oder welchen Issue-Tracker Sie auch immer verwenden) erstelle, machen meine Ingenieure sie gerne sehr granular, so dass es den Umfang für sie einschränkt. Aber gleichzeitig kann ich, wenn ich Arbeit an Kunden übergebe und sie sich über Regressionsfehler beschweren, entweder neue Probleme eröffnen oder einfach alte wieder öffnen (ersteres ist der granulare Ansatz, letzteres ist der einfacher zu verwaltende Ansatz). .

Welcher Ansatz ist besser? Ich fasse die Vor- und Nachteile der Ansätze zusammen, die wir in Betracht ziehen.

Unser granularer Ansatz

Profi

Schränkt den Spielraum für Entwickler weiter ein. Besonders nützlich, wenn Sie eine lieferungsbasierte Vergütung durchführen, da dies das Risiko für Entwickler begrenzt.

Con

Macht es schwieriger, all diese Probleme im Auge zu behalten, insbesondere bei der Berichterstattung über Fortschritte an Kunden. Zum Beispiel:

  1. Fehler 324 wurde geschlossen.
  2. Wir haben 452 als Regression auf 324 eröffnet.
  3. 452 wurde behoben.
  4. Wir haben 563 als eine weitere Regression auf 324 geöffnet, und sie ist gerade im Gange.

Unser einfacher zu verwaltender Ansatz

Der einfacher zu verwaltende Ansatz ist einfach das Gegenteil des oben beschriebenen granularen Ansatzes.

Keine Antwort auf Ihre Frage, aber ein guter Ansatz beim Beheben von Fehlern besteht darin, immer einen automatisierten Regressionstest für jeden Fehler zu erstellen, bevor Sie mit der Behebung beginnen. Auf diese Weise wird der Regressionstest bestanden, sobald der Fehler behoben wurde. Sie können dann Ihre Reihe von Regressionstests ausführen, um automatisch zu überprüfen, ob nicht alle behobenen Fehler aufgetreten sind, bevor Sie eine Veröffentlichung durchführen. Dies würde Ihr Fehlerverfolgungsproblem verringern, da es die Wahrscheinlichkeit eines erneuten Auftretens eines Fehlers verringern würde.

Antworten (2)

TL;DR

Sie haben ein X/Y-Problem, das dadurch entsteht, dass Sie die Analyse des Prozessproblems zugunsten eines werkzeugbasierten Ansatzes überspringen. JIRA und GitHub Issues sind Tools, keine Prozesse. Bis Sie Ihren Prozessablauf also vollständig definiert haben, bleiben Sie im Nachteil.

Sie müssen definieren, was Sie verfolgen, warum Sie es verfolgen und wie Sie die Tracking-Daten verwenden, um die Arbeit sichtbar zu machen. Solange das Team und die Organisation sich darüber einig sind, wie dies geschieht und was es kommuniziert, kann jeder Ansatz funktionieren.

Grundsätzlich sollten nur missbräuchlich oder vorzeitig geschlossene Tickets wieder geöffnet werden. Alle anderen Arbeiten stellen neue Arbeiten mit eigenem Umfang dar.

Was verfolgen Sie?

Sie verwechseln „Problemverfolgung“ mit „Arbeitsverfolgung“. Sie sind nie dasselbe, obwohl sie sicherlich miteinander in Beziehung stehen können. Ob Sie Tickets erneut öffnen oder neue erstellen, hängt wirklich davon ab, was Sie nachverfolgen möchten und wie Sie die Metriken verwenden möchten.

Sie sollten sich bemühen sicherzustellen, dass Ihr Prozess einem der Gesetze von CodeGnome entspricht: „No Invisible Work, Ever!“ Welchen Ansatz Sie auch wählen, es sollte klar sein, welche Arbeiten im Gange sind und wie viel Aufwand damit verbunden ist. Der Status der Arbeit sollte klar ersichtlich sein und der Prozess sollte für die Beteiligten transparent bleiben.

Neue Eintrittskarten

Das Öffnen neuer Tickets stellt sicher, dass alle neuen Arbeiten oder Nacharbeiten als erstklassige Nachverfolgungsartikel behandelt werden. Insbesondere wird verhindert, dass Nacharbeiten (sei es aufgrund von Fehlern oder iterativer Entwicklung) als unsichtbare Arbeit in wiedereröffneten Tickets vergraben werden oder veraltete Zeit-/Aufwandsschätzungen übernommen werden, die nicht für die aktuell erforderliche Arbeit gelten.

Die meisten Ticketsysteme, einschließlich JIRA und GitHub Issues, ermöglichen es, Tickets auf andere Tickets zu verweisen oder mit ihnen zu verlinken. Wenn möglich, empfehle ich immer, jeder neuen Arbeit oder Überarbeitung ein neues Ticket und einen neuen Kostenvoranschlag zuzuweisen und dann mit allen möglicherweise verwandten älteren Tickets zu verknüpfen.

Wiedereröffnete Tickets

Während es andere vernünftige Argumente geben kann, sollte ein Ticket aus agiler Sicht nur dann wieder geöffnet werden, wenn sich herausstellt, dass die Schließung verfrüht war, weil die Arbeit am Ticket nicht der „Definition of Done“ entsprach.

Wenn ein Ticket die Definition of Done des Teams erfüllt, aber später Regressionen gefunden werden oder sich Anforderungen geändert haben, dann handelt es sich um Arbeiten, die nicht im Umfang des vorherigen Tickets enthalten waren. Das Ticket wurde ordnungsgemäß geschlossen; Die Fehler oder der zusätzliche Umfang stellen einen zusätzlichen Aufwand dar , der vom Team benötigt wird, um ein neues Ziel zu erreichen.

Beispiele

Obwohl dies nicht vollständig ist, finden Sie hier einige vereinfachte Beispiele, die Ihnen helfen sollen, über den funktionalen Unterschied zwischen neuer Arbeit und unvollständiger Arbeit nachzudenken.

  1. Ein Ticket zum Embiggen eines Widgets wurde als abgeschlossen geschlossen, aber der Integrationstest wurde nicht durchgeführt. Dieses Ticket sollte erneut geöffnet werden und die verbleibenden Elemente der Definition of Done sollten durchgeführt werden.
  2. Ein Ticket zur Verkleinerung eines Dongles für ein neues Modell-B-Widget wurde nach Erfüllung der Definition of Done als abgeschlossen abgeschlossen. Allerdings war niemandem klar, dass der Dongle gefräste Kanten benötigt, um auf das neue Modell zu passen. Diese Spezifikationsänderung ist eine neue Arbeit, und die Arbeit sollte ein neues Ticket haben , obwohl das Ticket mit der Story „Prototype the Model B Widget“ verknüpft werden kann.
  3. Ihrem Produkt wurde eine Kundenkitzelfunktion hinzugefügt. Allerdings werden 12 % Ihrer Kunden durch Augenstiche durch die Federkiele getötet, und dieses Problem wurde vom Vertriebsteam als Fehler mit niedriger Priorität eingestuft. Das Auffinden und Beheben der Fehlerquelle ist neue Arbeit, die ein neues Ticket erfordert und zu einem erstklassigen Tracking-Element werden sollte. Dieses Ticket sollte dann vom Product Owner (oder einer ähnlichen Projektrolle) entsprechend priorisiert und entsprechend geplant werden.

Tickets sollten nur dann wieder geöffnet werden, wenn sie überhaupt nicht hätten geschlossen werden sollen. Alle anderen Arbeiten stellen neue Arbeiten mit neuem Umfang dar und sollten entsprechend behandelt werden.

nette Antwort .
ganz zu schweigen von der Verwendung Ihres eigenen Vokabulars.. lol

Die Antwort auf diese Frage ist einfach: Sie verwalten Ihre Arbeit auf der Ebene der Dekomposition / Abstraktion, die für die Verwaltung Ihrer Arbeit erforderlich ist.

Das ist eine Plus/Minus-Gleichung. Indem Sie es auf dem höheren Niveau halten, erhöhen Sie einerseits die Flexibilität bei der Arbeit und sparen eine Menge Geld bei der Verfolgung und Kontrolle. Aber auf der anderen Seite erhöhen Sie das Risiko, wertvolle Indikatoren für die Verschlechterung der Arbeitsleistung zu übersehen, indem Sie sie auf dem höheren Niveau halten, da diese Indikatoren in der Gesamtleistung maskiert werden.

Wähle mit Bedacht.

Sie haben zweimal "Sie halten es auf einem höheren Level" verwendet. Können Sie das bitte beheben?
Habe das mit Absicht gemacht. Ich zeigte sowohl ein Plus als auch ein Minus dafür, dass die Arbeit auf einem höheren Abstraktionsniveau gehalten wurde. Darin steckt das Plus und Minus für die Zerlegung des Werkes, also der gegenteilige Effekt.