Ich habe wirklich nicht vor, andere Antworten anzugreifen, aber schreibt hier sonst niemand automatisierte Tests?
Hier ist eine lustige Lektüre von Martin Fowler für alle, die Scrum ohne geeignete Softwareentwicklungspraktiken ausführen. Auch dazu sagt Robert C. Martin hier viel .
Also, auf meine Antwort ... Kurz gesagt, es geht so:
Ja, das "zufällige" Umgestalten von Code ist in Scrum zulässig , solange das Team entscheidet, dass dies getan werden soll. (Immerhin ist es selbstorganisierend)
Und nun zur langen Antwort:
Es ist offensichtlich, dass es ein Rezept für eine Katastrophe ist, nach jedem Sprint immer mehr technische Schulden zu hinterlassen. Bald werden alle langsamer, wenn der Code chaotischer wird. Jede Änderung ist schwieriger durchzuführen, da der Code so durcheinander und chaotisch ist, dass es länger dauert, die zu ändernden Stellen zu finden, als die eigentliche Änderung vorzunehmen. Es wird noch schlimmer, wenn Sie in einem großen und chaotischen Modul, von dem Sie nichts wissen, Änderungen vornehmen müssen. Es wird unmöglich, die Produktivität beim Hinzufügen / Wechseln von Personen im Projekt zu steigern / beizubehalten, und so weiter.
Wenn ein Team seine Geschwindigkeit konstant halten möchte, muss es in der Lage sein, die Codebasis sauber zu halten, um die Software kontinuierlich zu erhöhen. Refactoring ist eine obligatorische Vorgehensweise, wenn Sie Ihre Geschwindigkeit während des gesamten Projektlebenszyklus beibehalten und das Risiko des Hinzufügens / Wechsels von Personen im Projekt verringern möchten und wenn Sie in der Lage sein möchten, Änderungen in Modulen vorzunehmen, von denen Sie nichts wissen über und so weiter.
Refactoring ist jedoch eine sehr gefährliche Aktivität. Ich wiederhole - es ist eine sehr gefährliche Tätigkeit. Das heißt, es sei denn, Sie verfügen über eine ausreichende Testabdeckung, um die Codebasis sicher und frei ändern zu können. Wenn Sie nur einen Knopf drücken, um zu überprüfen, ob nichts kaputt ist, wird das Refactoring zu einer sehr sicheren Aktivität. In der Tat so sicher, dass es Teil des TDD-Zyklus ist, der es Ihnen überhaupt ermöglicht, eine solche Testsuite zu erstellen.
Da sich die Teams in Scrum jedoch selbst organisieren, muss Ihr Team am Ende entscheiden, was das Richtige ist. Ich hoffe, Ihnen einige Argumente gegeben zu haben, falls Sie jemanden überzeugen müssen. (Achten Sie besonders auf die Links im ersten Absatz und auf jeden anderen Artikel, auf den sie verweisen.)