Was sollen wir für User Stories für technische Schulden in Pivotal Tracker tun? Sollten wir diese als Merkmale (Punkte geben) oder als Aufgaben (keine Punkte geben, wodurch die Geschwindigkeit verringert wird) betrachten?
Ich bin verwirrt, was als lästige Pflicht anzusehen ist:
Vervielfältigung von Code - Es ist klar, dass, wenn wir denselben Code an mehreren Stellen platziert haben, dies eine wirklich schlechte Code-Praxis ist und Entwickler im Team mehr darüber nachdenken sollten, Software wartbar zu machen, Refactoring durchzuführen und das Team Zeit für Codeüberprüfungen aufwenden sollte. Da dies alles Reife, Zeit und Erfahrung auf Codeebene erfordert, ist es besser, weniger Punkte zu liefern, damit die Codequalität nicht beeinträchtigt wird. Daher sollten solche Fehler bestraft und die Geschwindigkeit verringert werden, indem keine Punkte für die Arbeit vergeben werden.
Technologie-Upgrade - Wie bei der Modularisierung von JS, HTTP2, React, MVC oder einer anderen neuen / besseren Technologie. Diese Schritte verbessern die Leistung und Wartung des Codes. Aber sollte dies eine Aufgabe oder ein Feature sein? Ich glaube, so ist die Technologiewelt, hin und wieder kommen neue Technologien und man muss darauf migrieren. Daher sehe ich keinen Grund darin, die Geschwindigkeit des Teams für solche Arbeiten zu bestrafen. Vorschläge?
Duplizierung / Substandard-Code in Legacy-Code - Nur wenige Codes sind seit langer Zeit unberührt. ODER wenn ein neues Team gebildet wird, die Codebasis jedoch etwas alt ist, stehen wir vor dieser Herausforderung. Das Team sagt, dass sie diesen Abschnitt nicht codiert haben. Warum sollte ihre Geschwindigkeit dadurch bestraft werden, dass solche technischen Schulden ausgewählt werden, die sie nie geschaffen haben?
Aufgrund der Dringlichkeit des Geschäfts unterdurchschnittlicher Code - Manchmal sind Entwickler aufgrund des Drucks von Wettbewerbern / Zielen / Unternehmen / Benutzern gezwungen, Funktionen so schnell wie möglich live zu übertragen. Sollte das Bereinigen eines solchen schlechten Codes auch als lästige Pflicht angesehen werden (ohne Punkte zu geben)? Dieses Mal ist das Entwicklungsteam nicht schuld. Warum sollte also die Geschwindigkeit gesenkt werden, obwohl sie in solchen Fällen meistens zusätzliche Stunden investieren?
Ich glaube, dass alle oben genannten Arten von Aufgaben, wenn sie mit Bedacht ausgeführt werden, die Geschwindigkeit des Teams in Zukunft verbessern sollten. Aber wie sollten wir das Gleichgewicht halten, um die Geschwindigkeit des Teams aufrechtzuerhalten und die technischen Fehler zu bestrafen, die das Team macht, indem wir schlechte Entscheidungen treffen?
Die Frage ist ähnlich wie: Sollten technische Schulden als Feature oder als Aufgabe (oder als Fehler) geplant werden? , aber ich habe keine überzeugenden Antworten gefunden, die alle 4 Punkte abdecken, also poste ich es auf eine andere Art und Weise neu.