Ich habe einige Kollegen gefragt, was möglicherweise passiert, und sie haben erwähnt, dass der Bug nur sehr selten die Aufmerksamkeit der Entwickler auf sich zieht, was in der Tat sinnvoll ist, wenn er nicht über diese Priorität verfügt
Eigentlich, wenn Sie mich fragen, tut es nicht. Je mehr (verwendete) Prioritätsstufen, desto mehr Informationen haben Sie. Wenn Sie effektiv nur eine Priorität haben, ist das dasselbe, als hätten Sie überhaupt keine Priorität.
Und da Sie immer noch die gleiche Anzahl von Bugs und die gleiche Menge an Arbeitsstunden haben, um dies zu tun, wird eine andere Heuristik verwendet, möglicherweise die Null-Heuristik - "Wer zuerst kommt, mahlt zuerst". Und so haben Sie jetzt eine Fehlerprioritätsmetrik, außer dass dies die Ankunftszeit ist und nicht mehr unter Ihrer Kontrolle steht.
Dies kann ein Symptom dafür sein, dass nicht genügend Ressourcen für die Fehlerbehebung bereitgestellt wurden (es gibt einige Richtlinien wie " Keine neuen Funktionen, bis die Fehler behoben sind ", die hier Abhilfe schaffen. Joel stimmt zu ; das Verständnis der Grenzen und Konsequenzen ist eine Geschäftsentscheidung ).
In einem Projekt, an dem ich gearbeitet habe, wurden die eingehenden Fehler in einem "Puffer ohne Priorität" zusammengefasst. Jeden Montag überprüften wir die Fehlerliste, schätzten den Schwierigkeitsgrad (eine sehr grobe Schätzung; meistens haben wir nur "Durchschnitt" eingegeben) und sortiere sie nach verfügbarer Zeit. Dies führte dazu, dass die Liste langweiliger, uninteressanter oder als schwierig zu bezeichnender Fehler heruntergestuft wurde. Um dies auszugleichen, verfügten Supervisor und Marketing über eine bestimmte Anzahl von Credits pro Woche, die sie ausgeben konnten, um die Priorität der bevorzugten Bugs zu übertreffen, und wurden für ungelöste Bugs erstattet (dies setzte ein Limit für die Verzögerung eines von Entwicklern verachteten Bugs fest). .
Es war auch möglich, Fehler zusammenzuführen, abzubrechen und aufzuteilen. Ich erinnere mich an ein Modul, das so hoffnungslos fehlerhaft war, dass wir zwanzig oder dreißig Fehlerberichte in einem einzigen "Schreiben Sie das Ding von Grund auf neu" zusammenfanden, das dann aufgeteilt wurde in "Geben Sie die Ein- und Ausgänge des elenden Dinges klar an", "Schreiben Sie Tests um sicherzustellen, dass die Ein- und Ausgänge den Spezifikationen entsprechen ", und so weiter. Der letzte Punkt lautete: "Drucke den alten Code auf Recyclingpapier, bring ihn auf den Rasen und zünde ihn an" (auch das haben wir getan. Ich erinnere mich, wie gut es sich angefühlt hat. Wir haben uns bei der Laudatio abgewechselt. Es war ziemlich lustig ).
Nach einigem Feilschen hatten wir die To-Do-Liste der Woche, die in "wird tun", "könnte tun" und "kann nicht tun" unterteilt war und auf die nächste Woche gestoßen wurde. An dieser Stelle kam noch ein Feilschen hinzu: Wir hatten fünfzig Stunden Zeit, um die Fehler zu beheben, und wir waren zu 95% sicher, die ersten zwanzig zu beheben. Das Management wollte unbedingt, dass ein einundzwanzigster Fehler behoben wird und keine Credits mehr vorhanden sind. Wir würden dann anbieten, diesen Fehler mit einem Fehler in der "Will do" -Liste zu tauschen, oder jemand würde sagen: "Bring mich für ein paar Tage aus dem FooBazFeature-Unterteam heraus und ich werde es tun", oder wir würden sagen: "Wir brauchen mehr." Arbeitskräfte".
Das System hat wirklich niemanden zufrieden gestellt, aber dies wurde (zumindest unter den Entwicklern) als gutes Zeichen angesehen.
Einige zusätzliche negative Muster, die auftauchten, waren das "Wunschdenken" der Manager ("Sie gaben an, dass der Fehler 57212 acht Stunden benötigt. Das ist inakzeptabel. Machen Sie es vier") und das "Debug by Fiat" ("Tun, was immer Sie wollen") Aber diese vierzig Fehler müssen vor der großen Demo in der nächsten Woche behoben sein. Sie können nicht mehr Zeit haben, Sie können nicht mehr Leute haben "). Auch das Boxer-Syndrom ("Ich werde härter arbeiten"), das für kurze Zeit sehr gut funktionierte , aber normalerweise dazu führte, dass ein Entwickler ausflippte oder auf grünere Weiden ging.