Sollten Fälle für Fehler erneut geöffnet werden oder sollten Fehler als neuer Fall geöffnet werden?

9

Derzeit verwenden wir an meinem Arbeitsplatz FogBugz, um alle unsere Funktionen und Fehler für unsere verschiedenen Webanwendungen zu verwalten.

Wenn einer unserer Webanwendungen eine neue Funktion hinzugefügt werden soll, wird ein neuer Fall erstellt. Zum Beispiel "CSV-Upload-Formular erstellen".

Ich arbeite dann an dem Fall und zeichne die Zeit auf, die ich dafür aufgewendet habe. Sobald dieser Fall abgeschlossen ist, löse ich ihn und er wird dem Fallöffner (normalerweise dem Projektmanager) zugewiesen, der den Fall dann schließt.

Wenn die Funktion Fehler enthält, öffnet mein Projektmanager den Fall erneut und weist ihn mir mit einer Aufzählungsliste von Fehlern zu.

Meiner Meinung nach sollten diese mit Aufzählungszeichen versehenen Fehler als einzelne Fehlerfälle geöffnet werden, damit sie leichter nachverfolgt werden können und nicht mit den Originalnotizen zu Funktionsfällen überladen werden.

Meine Manager sind mit meiner Aussage nicht einverstanden, dass es einfacher ist, die Gesamtzeit für die Funktion zu berechnen, wenn alles in einem Fall ist.

Darüber hinaus glauben sie, dass dies für unsere Kunden weniger verwirrend ist, da sie nur eine Fallnummer für die Funktion haben. Ich möchte jedoch betonen, dass die Fehler als separate Fälle behandelt werden sollten, da dies nach Abschluss des ursprünglichen Falls erfolgt.

Habe ich Recht, wenn ich sage, dass Fehler als neuer Fall wieder geöffnet werden sollten? Und was sind die Vor- und Nachteile jeder Art, dies zu verwalten?

Curt
quelle
1
Mögliches Duplikat von Bug reopen vs. new
FrustratedWithFormsDesigner
2
Ich denke nicht, dass dies ein echtes Duplikat ist, es ist ähnlich, aber es gibt einen wichtigen Unterschied: Hier geht es um die Implementierung einer neuen Funktion und eine relativ kurze Hin- und Rückfahrt zum Entwickler. Die Antwort könnte ähnlich sein (oder auch nicht), aber die Frage ist anders
Joachim Sauer
1
Aber vielleicht habe ich das falsch verstanden. Werden die Fehler von QA / vor einer Veröffentlichung gefunden? Oder ist das ein "einige Monate später" -Fall?
Joachim Sauer
2
@Curt: Das ändert nichts an der Tatsache, dass er das Ticket nicht schließen sollte, es sei denn, er ist sich sicher, dass es fertig ist (für was auch immer Ihre Definition davon ist).
Joachim Sauer
3
Sie können untergeordnete Fälle des Hauptfalls zur Nachverfolgung öffnen. Sie werden alle mit dem Hauptfall aufgelistet, wenn Sie danach suchen
JF Dion,

Antworten:

10

Sowohl Sie als auch Ihr Manager haben gute Gründe, so zu handeln, wie es jeder von Ihnen bevorzugt, und es besteht kein wirklicher Kompromissbedarf. Es gibt eine Lösung, die für mich funktioniert und beide Probleme angeht.

Für Fälle wie Ihren verwende ich einen High-Level-Task- / Low-Level-Sub-Tasks-Ansatz (Konzept, das ich von JIRA ausgewählt habe , kann nicht sagen, ob die Unterstützung von FogBugz explizit so aussieht ). Auf diese Weise werden Listen mit Aufzählungszeichen für "Clients" für Aufgaben auf hoher Ebene verwendet, während sich für mich wichtige "Entwickleriterationen" in Unteraufgaben widerspiegeln.

Wenn eine übergeordnete Aufgabe "wieder geöffnet" wird, erstelle ich eine neue Unteraufgabe, um den zusätzlichen Aufwand für sich selbst zu verfolgen .

http://i.stack.imgur.com/ng4jn.jpg

Auf diese Weise kann der Entwickler alle Permutationen, Perversionen und Wendungen, die durch die Feature-Spezifikation durchlaufen wurden, klar wiedergeben und den Manager den Kunden so präsentieren, als ob sie perfekt wären. Übrigens hat eine perfekte Präsentation für mich als Entwickler ihren Wert - denn eine einfachere Lesbarkeit für Kunden hilft dabei, genauere Anpassungen vorzunehmen.

Dies ermöglicht natürlich auch eine klare Begründung in Fällen, in denen die Implementierung von Features viel länger dauert als ursprünglich angenommen.

Was die Zeiterfassung pro Aufgabe oder Unteraufgabe betrifft - da JIRA die Nachverfolgung von Unteraufgaben in eine übergeordnete Zusammenfassung einbezieht, ist es für Manager akzeptabel, dass ich die Zeit in Unteraufgaben verfolge. Selbst wenn dies nicht der Fall wäre, könnte ich mit der formalen Nachverfolgung der Zeit in der "übergeordneten" Aufgabe leben. In diesem Fall würde ich nur Kommentare zu Unteraufgaben verwenden, um anzugeben, wie viel Zeit für eine bestimmte Iteration aufgewendet wurde.

Mücke
quelle
3
FogBugz unterstützt Unteraufgaben - machen Sie einen Fall pro Fehler und weisen Sie dann den ursprünglichen Fall als übergeordnetes Element jedes Fehlerfalls zu. Es fasst sogar die Gesamtzeit zusammen, die Sie pro Fehler plus Elternteil verbracht haben, und verfolgt gleichzeitig individuell die aufgewendete Zeit jedes einzelnen Fehlerfalls.
Tacroy
+1 Danke Mücke, dies ist eine große Hilfe in meinem Argument für die Verwendung separater Fälle für Fehler und wie sie immer noch mit der ursprünglichen Funktion verknüpft werden können
Curt
@Curt viel Glück. Denken Sie daran, dass dies viel mit der richtigen Auswahl Ihrer Schlachten zu tun hat. Was auch immer sie darauf bestehen, eine "Elternaufgabe" zu haben, kämpfe nicht zu hart - lass sie an ihrem eigenen Seil hängen. Ihre Unteraufgaben sind Ihre Festung - dies sollte Ihre Verteidigungslinie sein. Übrigens müssen Sie es möglicherweise wirklich verteidigen - die Tatsache, dass Ihr Manager diese Lösung nicht finden konnte, lässt mich fragen, ob er ausreichend qualifiziert ist, um die Entwicklungsbemühungen zu verfolgen
Mücke
7

Wenn dies alles geschieht, bevor die Funktion für den Kunden freigegeben wird, haben Sie nur einen Fall. Das Argument hier ist, dass der Fall nicht wirklich vollständig ist, bis er die Qualitätssicherung bestanden hat und zur Veröffentlichung bereit ist. Die anderen Vorteile - eine einzelne Fallnummer, auf die sich die Abrechnung und der Endbenutzer beziehen können, sind gültig und wichtig.

Sobald die Funktion veröffentlicht wurde und Fehler gefunden wurden, sollten diese als neue Probleme in Ihrer Problemverfolgungssoftware angezeigt werden.

ChrisF
quelle
5

Ich stimme Ihnen voll und ganz zu, ebenso wie FogBugz - deshalb werden verschiedene Kategorien für Fehler und Funktionen definiert. FogBugz wurde nicht als Tool zur Verfolgung der Zeitnutzung entwickelt. Dies ist ein zufälliges Nebenprodukt der Einführung einer evidenzbasierten Planung.

Fehler für ein abgeschlossenes Feature können mit dem Hauptfall für das Feature verknüpft werden (in FogBugz durch Verwendung eines Tag-Namens oder eines Querverweises oder durch Erstellen von Unterfällen). Ich kann sehen, dass dies ein bisschen mehr Arbeit für Ihre PM ist, um Informationen in mehreren Fällen zu konsolidieren, aber es ist oft auch sinnvoll, die für die ursprüngliche Entwicklung aufgewendete Zeit und die für die Wartung aufgewendete Zeit, insbesondere für Festpreisverträge, zu trennen Sie verlieren die Fähigkeit, dies zu tun, wenn Sie alles in einem Fall zusammenfassen.

James McLeod
quelle
3

Ich bin der Meinung, dass ein Bug-Tracker nach dem Schließen eines Tickets ohnehin in der Lage sein sollte, Links zu anderen Fällen zu erstellen. Ich möchte darauf hinweisen, dass das Erstellen neuer Fehler und das Verknüpfen dieser Fehler mit dem ursprünglichen Fall bessere Vorteile bietet als die von Ihnen beschriebene Methode.

  • Clients können weiterhin eine Referenznummer haben, die Links zu jedem Fehler enthält.
  • Der Status jedes Fehlers kann einzeln verfolgt werden, um eine bessere Priorisierung und Statusberichterstattung zu ermöglichen.
  • Wenn Sie separate Fehler haben, kann Ihr Manager die für Fehler aufgewendete Zeit im Vergleich zur Zeit für die Entwicklung neuer Funktionen aufteilen. Dies sollte nur ein minimaler zusätzlicher Aufwand sein, um eine Gesamtzahl für alle Fehler zu erhalten, die mit einer Änderung und der Entwicklung dieser Änderung zusammenhängen.
  • Das Trennen von Fehlern erleichtert Ihrem Manager das Sammeln anderer Messdaten wie Gesamtfehler, durchschnittliche Zeit pro Fehlerbehebung, Verhältnis von geschlossenen / in Bearbeitung befindlichen / behobenen Fehlern.
  • Durch getrennte Fälle pro Fehler können Aufgaben besser zwischen allen Entwicklern aufgeteilt werden und jeder für seine eigene Arbeit zur Rechenschaft gezogen werden, oder diese Möglichkeit wird ermöglicht, falls zu einem späteren Zeitpunkt mehr Entwickler eingestellt werden.

Der einzige Vorteil Ihres aktuellen Setups besteht darin, dass es für Benutzer, die nicht die Hauptbenutzer des Systems sind, äußerst einfach ist. Der Zweck eines Bug-Trackers besteht darin, dass der Entwickler einen Ort hat, an dem er alles über einen Fehler an einem einzigen Ort melden kann, der auch so freundlich ist, dass andere den Fortschritt sehen können. Ihr aktuelles System scheint fast jeden Teil davon zu untergraben.

Ryathal
quelle
Ich stimme größtenteils dem Bit "Geschlossenes Ticket sollte geschlossen bleiben" zu, aber es gibt immer Ausnahmen, z. B. wenn ein Fehler wieder eingeführt wird, wie dies bei einem Rollback der Fall sein kann (oder schlimmer, wenn ein Teil eines Projekts verloren geht und wiederhergestellt werden muss) vom Backup).
zzzzBov
@zzzzBov das sind ziemlich bedeutende Ausnahmen, und wenn Sie sich in dieser Position befinden, bezweifle ich, dass der Umgang mit der Fehlerverfolgung an dieser Stelle ein Problem darstellt.
Ryathal
1

Werden die Fehler gefunden, bevor oder nachdem das Produkt an Kunden versendet / freigegeben wurde?

Wenn es vor einer Veröffentlichung liegt, sollten die Fehler anhand des Originaltickets verfolgt werden.

Wenn es nach einer Veröffentlichung ist, sollte jeder Fehler sein eigenes Ticket sein.

Colin D.
quelle
Wir kopieren die Anwendung auf einen Entwicklungsserver, auf dem der Client auf die Site zugreifen kann. Manchmal werden die Fehler intern gefunden, manchmal werden sie vom Client gefunden. Schlagen Sie vor, dass die intern (per PM) gefundenen Fehler bedeuten, dass der Fall erneut geöffnet und der Fehler am unteren Rand des Falls / Tickets angebracht werden sollte?
Curt
Wenn die Fehler vor der Veröffentlichung gefunden werden, sollten sie so behandelt werden, als ob die Funktion nicht abgeschlossen wäre. Siehe die Antwort von ChrisF.
Colin D
1

Wo ich arbeite, können nur die QS-Leute einen Fall schließen. Wir haben Kontrollkästchen für Code Reviewed, Engineer Tested und Demo to Stakeholder (in Ihrem Fall Project Manager). Wenn das QA-Team einen als "Fertig" gekennzeichneten Fall sieht, in dem nicht alle diese Felder markiert sind, wird es als rückgängig gemacht markiert und an uns zurückgesendet.

Sobald ein Fall alle diese Phasen durchlaufen hat und die Qualitätssicherung den Fall abgeschlossen hat, werden alle neu gefundenen Probleme als Fehler protokolliert.

Dieses System scheint für uns gut zu funktionieren.

StriplingWarrior
quelle
0

Ich denke, Sie können in beide Richtungen argumentieren. Ich würde versuchen, mich mit dem Premierminister zusammenzusetzen und zu erklären, warum Sie glauben, dass diskrete Probleme Ihnen helfen werden. Ich persönlich möchte, dass jeder ToDo-Gegenstand sein eigenes Ticket ist, aber ich kann sehen, warum er es so will.

Zachary K.
quelle