Wie gehen Sie mit immer größeren Häufigkeiten von Problemen um, die „irgendwann“ gelöst werden müssen?


15

Wir verwenden JIRA, um Probleme in unseren Softwareprojekten zu verfolgen. Ein Effekt, den wir bemerkt haben, ist, dass wir oft ein neues Problem erstellen, aber noch nicht wissen, wann / ob das Problem überhaupt behoben werden wird. Deshalb haben wir einen gefälschten Meilenstein für die „ferne Zukunft“ erfunden, dem solche Probleme zugewiesen werden.

Zufälligerweise wächst die Menge der Probleme, die diesem Meilenstein zugeordnet sind, ständig, sodass dies anscheinend kein guter Ansatz ist. Mittlerweile gibt es so viele, dass es eine Menge Arbeit war, alle auf ihre Gültigkeit zu überprüfen. Einige von ihnen wurden ungültig, da die Ihnen zugeordnete Komponente entfernt wurde. Einige von ihnen wurden durch andere Probleme dupliziert. Einige von ihnen haben eine so schlecht formulierte Beschreibung, dass niemand mehr wirklich weiß, worum es bei ihnen geht.

Wie gehen andere Softwareentwicklungsteams mit Problemen um, die gültig sind, aber möglicherweise nicht jederzeit behoben werden. Hast du die Mühe, sie überhaupt aufzunehmen? Weisen Sie sie der nächsten geplanten Version zu und betrachten Sie sie dann erneut, wenn sich das nächste Release nähert? Etwas anderes?


1
Sieht so aus, als würdest du von meinem Arbeitsplatz sprechen, sehr beunruhigend. Viel Glück damit, ich lobe jetzt schon eine Weile mit und komme in diesem Punkt nur langsam voran. Das Management scheint sich nicht darum zu kümmern, bis wir so viel Müll haben, dass wir es nicht mehr erkennen können.
Deadalnix

Warum muss es repariert werden? Wenn es nicht wichtig ist und nie behoben wird, ist das perfekt.
B Seven

Antworten:


11

Dies sind gute Fehler beim ersten Kontakt, die für neue Entwickler behoben werden müssen, die sich gerade Ihrem Unternehmen angeschlossen haben. Oder für Nachwuchsentwickler, um ihre Systemkenntnisse zu erweitern.

Wenn nicht, können Sie sie als "nicht reparierbar" markieren, wenn sie nicht ernst genug sind, um den Zeitaufwand für die Reparatur zu rechtfertigen.


3
+1 Denn wird nicht behoben, es kann sowohl ein soziales als auch ein technisches Problem sein. Manchmal muss man einfach NEIN sagen. Wenn Sie weiterhin Fehler beheben, steigen die Erwartungen der Leute, insbesondere an triviale oder überflüssige Feature-Anfragen, und sie werden weiterhin nach mehr fragen.
Keyo

4
Es ist eine schlechte Idee, dass Junior-Programmierer Fehler beheben. Leider ist dies in der Branche weit verbreitet. Die kostengünstigste Möglichkeit, einen Fehler zu beheben, besteht darin, dass der Entwickler, der ihn eingeführt hat, den Fehler beheben lässt.
Trasplazio Garzuglio

6
@MarcoDinacci - Es kommt darauf an, was Sie in "kostengünstig" einstellen. Mit einer kurzfristigen Sicht sind Sie richtig. Wenn das Projekt jedoch lange andauert, kann es als Investition angesehen werden, Junior-Programmierern Aufträge zur Behebung von Fehlern zu erteilen.
Mouviciel

2
@mouviciel Ich denke, es gibt bessere und anregendere Möglichkeiten, Junior-Programmierer auszubilden, als sie an Fehlern arbeiten zu lassen, aber ich stimme zu, dass dies eine Möglichkeit ist, die Codebasis zu erlernen. Ein weiteres Problem bei diesem Ansatz ist, dass ältere Entwickler möglicherweise nur Code schreiben, ohne Fehler einzuführen, da es die jüngeren Entwickler gibt, die sie sowieso beheben.
Trasplazio Garzuglio

3
@MarcoDinacci, lassen Sie es mich anders sagen: Wenn leitende Entwickler einen externen Prozess benötigen, um qualitativ hochwertige Arbeit zu erzwingen, hat das Team ein grundlegendes Problem. IMHO sollte jeder gute Entwickler - aber besonders Senioren - eine interne Motivation für Qualität haben. Wenn diese Motivation bei den Meinungsführern des Teams fehlt, wird das Projekt auf die eine oder andere Weise fast unweigerlich scheitern, und es kann kein umfangreicher Prozess helfen.
Péter Török,

11

Sie sollten einen Fehler nur beheben, wenn die Anwendung ohne den Fehler wertvoller ist.

Wenn ein Textfeld falsch ausgerichtet ist und es drei Tage dauert, um es zu reparieren, sind die Kosten wahrscheinlich zu hoch und Sie sollten es verlassen. Im Gegenteil, wenn die Benutzer überhaupt nicht in das Textfeld schreiben können, sollten Sie das Problem schnell beheben.

Im Allgemeinen ist es einfacher, ein Problem sofort zu beheben, nachdem es entdeckt wurde. Wenn Sie die Zeit verstreichen lassen, vergessen Entwickler möglicherweise, wie dieser Teil des Codes funktioniert, und die Behebung des Fehlers dauert länger und ist daher teurer.

Einige Unternehmen schreiben keine neue Codezeile, wenn noch Fehler ausstehen. Andere kümmern sich erst in der Testphase um die Auslieferung.

In Ihrem Unternehmen vergeht offensichtlich zu viel Zeit, bevor neue Fehler behoben werden, sodass sie sich ansammeln. Es ist auch schlecht für die Moral des Teams, eine riesige Liste von Fehlern zu sehen.

Ich empfehle Ihnen, einen Tag zu verbringen, um die vorhandenen Fehler zu beseitigen, die zu beheben, die es wert sind und die nicht, und die zu beheben den vorhandenen Teammitgliedern zuzuweisen, mit dem Ziel, die Probleme vor dem nächsten Meilenstein zu lösen .


6

In unserem Issue-Tracking gibt es den Status "verjährt". Wenn ein Problem mehrere Monate oder sogar Jahre alt ist und kein Kunde das Problem drängt oder erneut feilt, wird dieser Status als endgültiger Status verwendet. Dies geschieht nicht automatisch, sondern manuell, wenn die Manager uns auffordern, die offenen Probleme zu beseitigen. Während dieses Vorgangs werden wahrscheinlich auch einige der Probleme behoben, da sie einfach zu beheben und / oder relativ wichtig sind (obwohl sie nicht dringend benötigt oder erneut behandelt werden).


1
Dies ist eine gute Strategie - zu wissen, dass ein Fehler, der Sie jahrelang gepackt hat, möglicherweise für immer unter den Teppich gekehrt wird, ist eine gute Motivation, um das Problem anzugehen.
Steve Jackson

2

Ich benutze JIRA nicht, ich habe Nebelschwärme bei der Arbeit, aber ich bin mir sicher, dass dies für die meisten Bug-Tracker gilt. Als ich dies schrieb, wurde mir klar, dass meine Arbeitsweise wendiger ist als der Wasserfall. Die Fristen sind für mich nicht konkret und das, worauf es ankommt, hat Priorität.

  • Wenn sich Ihr Chef darum kümmert, dass zu viele Tickets offen sind, erstellen Sie diese einfach nicht. Sie sollten prägnant sein und keine Features / Fixes hinzufügen, die keine Vorteile haben. Wenn es Ihnen das Leben leichter macht, Code zu polieren oder die Benutzeroberfläche zu optimieren, fügen Sie ihn hinzu. Machen Sie sich nicht nur die Arbeit, indem Sie versuchen, kleinere Fehler im Produkt zu beheben. Nichts ist perfekt.
  • Setzen Sie die unwichtigen Bugs / Features in den aktuellen Meilenstein, aber unter eine niedrige Priorität. Wenn weitere Beschwerden / Anfragen zu dem Problem erwähnt werden, können Sie die Priorität erhöhen.
  • Schließen / Beheben von Problemen, die nicht behoben, reproduziert, dupliziert usw. werden können. Einige Fehler sind zu trivial, um behoben zu werden, oder es handelt sich um Feature-Anfragen, die viel zu lange dauern würden. Manchmal müssen Sie nur der Person mitteilen, die diese Korrekturen / Funktionen anfordert: "Nein, leider haben wir keine Zeit".
  • Priorisieren Sie die Bugs nach Bedarf und lassen Sie Ihre Ticketliste nach Priorität und Meilenstein sortieren.
  • Wenn sie den Meilenstein nicht erreichen, verschieben Sie sie in einen zukünftigen Meilenstein.
  • Wenn ein Ticket von der Fertigstellung eines anderen Tickets abhängig ist, markieren Sie es als gesperrt, oder ordnen Sie die Tickets in einer Hierarchie, sodass klar ist, dass ticket-x und ticket-y zusammenhängen.
  • Wenn ein Ticket ein Feedback von jemandem erfordert, weisen Sie es dieser Person zu.

Letztendlich werden Sie immer ein paar Tickets mit niedriger Priorität haben, aber die obigen Punkte sollten Ihnen dabei helfen, dies zu minimieren.


2

Wir verwenden JIRA und haben einen zusätzlichen Auflösungsstatus namens Suspended- wenn eine Funktion / ein Fehler etwas ist, auf das wir nur eine Weile verzichten müssen, wird er als suspendiert behoben. Auf diese Weise wird es weder mit der Liste der aktuell aktiven Probleme, auf die wir unsere Aufmerksamkeit richten müssen, noch mit der Liste der behobenen Probleme, von denen wir wissen, dass sie zufriedenstellend behandelt wurden, verwechselt und befindet sich immer noch in der Datenbank.

Die Liste der angehaltenen Probleme wird regelmäßig (aber nicht sehr oft) überprüft, um sie bei Bedarf erneut zu öffnen.


1

Sie sind sich der korrekten JIRA-Terminologie nicht sicher, sollten jedoch in Betracht ziehen, jedem "Ticket" ein Ablaufdatum zuzuweisen. Wenn es nicht innerhalb eines bestimmten Zeitraums durch die Funktionsanforderungen oder den Schweregrad des Fehlers zur Implementierung eskaliert wurde, war es wahrscheinlich gar nicht so wichtig. Dies sollte dazu beitragen, den Stapel automatisch geschnitten zu halten. Ich bekomme oft Tickets, die auf "Wäre es nicht schön" oder "Das funktioniert nicht so, wie ich es will" basieren. Wenn niemand anderes genug dafür drängt oder dieser Benutzer nicht genug Einfluss hat, wird das nicht erledigt und ich schließe das Ticket nach ein paar Monaten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.