Я думаю, що найкращий спосіб підійти до цього - це визначити, що ви насправді хочете розглянути помилку.
Багато розробників не вважатимуть те, що не працює так, як задумано, над тим, як вони зараз працюють, не як помилку, оскільки це, чесно кажучи, не помилка. Якщо ви зараз працюєте над чимось, і у нього все ще є дефекти, конкретна помилка насправді не є повною, тому немає фактичного дефекту. Зворотне стосується завершених робіт, якщо ви визначили, що щось завершено і готове до тестування / випуску / виробництва, і пізніше ви знайдете дефект у коді чи використанні, тоді ви обов'язково маєте помилку.
Моя компанія використовує таку методологію, щоб визначити, коли потрібно виправити помилку:
Якщо помилка критична, вона додається до поточного спринту, пов'язаного з цим продуктом, за відповідним пріоритетом. Як правило, ми плануємо приблизно в 10% додатковий час, щоб дозволити це в спринті, а також мати додаткові речі, які ми насправді не плануємо виконувати, але якщо у нас немає помилок або щось було завершено швидше, ніж ми очікували, то можемо завершено.
Якщо помилка не є критичною, ми просто додаємо її до відставання та зазвичай завершуємо її в наступному спринті.
чому це ідеальний потік, є явна протікання цього, і іноді речі, які не є "критичними" з точки зору програмування, можливо, потрібно буде негайно завершити, якщо керівництво вирішить, що його потрібно завершити раніше, ніж ми думаємо, що має бути. завершено.
Убік я думаю, що найкраще зробити - це вибрати структуру, а потім дотримуватися її. Деякі з найбільших втрат продуктивності починають виникати, коли ви починаєте робити речі без структури. Після того, як ви почнете деградувати свою структуру, їй дуже легко піти вниз.
Це, можливо, надто відповідало на ваше запитання, але це лише мої думки щодо того, як з цими речами слід поводитися.