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.
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.
Macht es schwieriger, all diese Probleme im Auge zu behalten, insbesondere bei der Berichterstattung über Fortschritte an Kunden. Zum Beispiel:
Der einfacher zu verwaltende Ansatz ist einfach das Gegenteil des oben beschriebenen granularen Ansatzes.
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.
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.
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.
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.
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.
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.
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.
Barnaby Golden