Я действительно не хочу атаковать другие ответы, но никто больше не пишет здесь автоматические тесты?
Вот интересное чтение от Мартина Фаулера для любого, кто занимается Scrum без надлежащей практики разработки программного обеспечения. Роберт С. Мартин также много говорит об этом здесь .
Итак, к моему ответу ... Короче, это выглядит так:
Да, в Scrum разрешен «случайный» рефакторинг кода , если команда решит, что это нужно сделать. (Ведь это самоорганизация)
А теперь для длинного ответа:
Очевидно, что оставлять все больше технических долгов после каждого спринта - это путь к катастрофе. Вскоре все замедлятся, поскольку код становится более грязным; каждое изменение будет труднее сделать, потому что код настолько запутан и запутан, что требуется больше времени, чтобы найти места для изменения, чем для внесения реальных изменений. Будет еще хуже, если вам придется вносить изменения в большой и грязный модуль, о котором вы ничего не знаете, становится невозможно повысить / сохранить производительность при добавлении / переключении людей в проекте и так далее.
Если команда хочет поддерживать постоянную скорость, она должна быть в состоянии поддерживать чистоту базы кода, чтобы непрерывно наращивать программное обеспечение. Рефакторинг является обязательной практикой, если вы хотите сохранить свою скорость на протяжении всего жизненного цикла проекта, и если вы хотите уменьшить риск добавления / переключения людей в проекте, и если вы хотите иметь возможность вносить изменения в модули, вы ничего не знаете о, и так далее.
Однако рефакторинг - очень опасное занятие. Я повторяю - это очень опасное занятие. То есть, если у вас недостаточно тестового покрытия, чтобы иметь возможность безопасно и свободно изменять кодовую базу. Если вы можете просто нажать кнопку, чтобы убедиться, что ничего не сломалось, рефакторинг становится очень безопасным занятием; настолько безопасным, что фактически является частью цикла TDD , что является практикой, которая позволяет вам в первую очередь создавать такой набор тестов.
Но поскольку команды в Scrum самоорганизуются, в конце концов, ваша команда должна решить, что делать правильно. Я надеюсь дать вам несколько аргументов в случае, если вам нужно кого-то убедить. (Уделите особое внимание ссылкам в первом абзаце и каждой другой статье, на которую они указывают)