Gibt es irgendwelche inhärenten Probleme oder Überlegungen beim Erheben eines Tickets von der Rückseite einer Überprüfung, anstatt es zu scheitern?
Nicht von Natur aus. Beispielsweise hat die Implementierung der aktuellen Änderung möglicherweise ein Problem aufgedeckt, das bereits vorhanden war, aber bis jetzt nicht bekannt / offensichtlich war. Ein Fehlschlagen des Tickets wäre unfair, da Sie es für etwas missachten würden, das nichts mit der tatsächlich beschriebenen Aufgabe zu tun hat.
In der Rezension entdecken wir eine Funktion
Ich vermute jedoch, dass die Funktion hier etwas ist, das durch die aktuelle Änderung hinzugefügt wurde. In diesem Fall sollte das Ticket nicht bestanden werden, da der Code den Geruchstest nicht bestanden hat.
Wo würdest du die Linie zeichnen, wenn nicht wo du sie bereits gezeichnet hast? Sie glauben eindeutig nicht, dass dieser Code sauber genug ist, um in der aktuellen Form in der Codebasis zu bleiben. Warum sollten Sie dann in Betracht ziehen, dem Ticket einen Pass zu geben?
Schlagen Sie die Codeüberprüfung fehl, damit das Ticket in diesem Sprint nicht geschlossen wird, und wir bemühen uns ein wenig um die Moral, da wir das Ticket nicht weitergeben können.
Mir kommt es so vor, als würden Sie indirekt argumentieren, dass Sie versuchen, diesem Ticket einen Pass zu geben, der der Moral des Teams zugute kommt und nicht der Qualität der Codebasis.
Wenn das der Fall ist, haben Sie Ihre Prioritäten gemischt. Der Standard für sauberen Code sollte nicht geändert werden, nur weil dies das Team glücklicher macht. Die Korrektheit und Sauberkeit des Codes hängt nicht von der Stimmung des Teams ab.
Der Refactor ist ein kleines Stück Arbeit und würde im nächsten Sprint (oder sogar bevor er beginnt) als winzige, halbe Punktgeschichte erledigt werden.
Wenn die Implementierung des Originaltickets den Code-Geruch verursacht hat, sollte dieser im Originalticket angesprochen werden. Sie sollten nur dann ein neues Ticket erstellen, wenn der Code-Geruch nicht direkt dem ursprünglichen Ticket zugeordnet werden kann (z. B. ein "Strohhalm, der den Rücken des Kamels gebrochen hat").
Die Ressourcen, die ich finden kann und die ich gelesen habe, sind normalerweise zu 100% oder gar nichts, aber ich finde, dass dies normalerweise nicht realistisch ist.
Pass / Fail ist von Natur aus ein binärer Zustand , der von Natur aus alles oder nichts ist.
Ich denke, Sie beziehen sich hier eher darauf, dass Sie Codeüberprüfungen so interpretieren, dass sie perfekten Code erfordern oder auf andere Weise fehlschlagen, und das ist nicht der Fall.
Der Code sollte nicht makellos sein, sondern einfach dem angemessenen Sauberkeitsstandard Ihres Teams / Unternehmens entsprechen. Die Einhaltung dieses Standards ist eine binäre Entscheidung: Er hält an (bestanden) oder er tut es nicht (nicht bestanden).
Anhand Ihrer Beschreibung des Problems ist klar, dass Sie nicht der Meinung sind, dass dies dem erwarteten Codestandard entspricht, und dass es daher nicht aus anderen Gründen wie der Moral des Teams weitergegeben werden sollte.
Ansonsten entspricht die Aufgabe der Definition von erledigt.
Wenn "es gelingt, die Arbeit zu erledigen" der beste Maßstab für die Codequalität wäre, müssten wir zunächst nicht das Prinzip von sauberem Code und bewährten Methoden erfinden - der Compiler- und Komponententest wäre bereits unser automatisierter Überprüfungsprozess und Sie benötigen keine Codeüberprüfungen oder Stilargumente.