Je ne veux vraiment pas attaquer d'autres réponses, mais personne d'autre n'écrit des tests automatisés ici?
Voici une lecture amusante de Martin Fowler pour quiconque pratique Scrum sans bonnes pratiques en génie logiciel. Robert C. Martin dit aussi beaucoup sur ce ici .
Donc, à ma réponse ... Bref, ça se passe comme ceci:
Oui, le code de refactorisation "aléatoire" est autorisé dans Scrum , tant que l'équipe décide que cela doit être fait. (Après tout, c'est auto-organisé)
Et maintenant pour la longue réponse:
Il est évident que laisser de plus en plus de dettes techniques après chaque Sprint est une recette pour un désastre. Bientôt, tout le monde ralentira à mesure que le code deviendra plus compliqué; chaque changement sera plus difficile à effectuer car le code est tellement emmêlé et désordonné qu'il faut plus de temps pour trouver les points à changer que pour effectuer le changement réel. Cela devient encore pire si vous devez faire un changement dans un module gros et désordonné dont vous ne savez rien, il devient impossible de gagner / conserver la productivité lors de l'ajout / du changement de personnes dans le projet, etc.
Si une équipe veut maintenir sa vitesse constante, elle doit être capable de garder la base de code propre afin d'incrémenter continuellement le logiciel. Le refactoring est une pratique obligatoire si vous voulez garder votre vitesse tout au long du cycle de vie du projet, et si vous voulez atténuer le risque d'ajouter / de changer de personnes sur le projet, et si vous voulez être en mesure d'apporter des modifications dans les modules, vous ne savez rien à propos, et ainsi de suite.
Cependant, le refactoring est une activité très dangereuse. Je le répète - c'est une activité très dangereuse . Autrement dit, à moins que vous n'ayez suffisamment de couverture de test pour pouvoir modifier librement et en toute sécurité la base de code. Si vous pouvez simplement appuyer sur un bouton pour vérifier si rien ne s'est cassé, le refactoring devient une activité très sûre; si sûr, en fait, qu'il fait partie du cycle de TDD , qui est la pratique qui vous permet de créer une telle suite de tests en premier lieu.
Mais, comme les équipes de Scrum sont auto-organisées, votre équipe doit finalement décider de la bonne chose à faire. J'espère vous avoir donné quelques arguments au cas où vous devriez convaincre qui que ce soit. (Accordez une attention particulière aux liens du premier paragraphe et à tous les autres articles vers lesquels ils pointent)