Отже, спринт scrum - це фіксований часовий період, протягом якого має бути реалізований певний набір функцій. Команда scrum складається з усіх людей, які прагнуть надати ці функції, більшість із них, як правило, розробники та тестери.
Встановивши ці правила, можна задатися питанням, як утримувати всіх цих людей зайнятими протягом усього спринту. На початку спринту ще нічого не перевіряють, а наприкінці спринту зазвичай не залишається нічого або дуже мало для розвитку / виправлення.
Я бачив 2 підходи для вирішення цього питання, але жоден з них не здається правильно вирішити проблему.
1) Нехай члени команди вирішують, що робити, коли вони не виконуються.
Мінуси:
- Якщо те, що вони роблять, не планується ретельно (тобто капітальний рефакторинг, перехід на нові рамки тестування), їх робота може виявитися марною або затриматися на півдорозі
- З іншого боку, планування такої роботи може зайняти багато часу, і клієнт може розчаруватися, побачивши, що команда витрачає час на те, що не приносить негайного значення
- Такі завдання, як правило, неможливо детально оцінити, тому безпринципним працівникам досить просто проводити свій час за переглядом кішок YouTube, не відображаючи їх на дошці сходів або деінде
2) Створіть місце в спринті лише для розвитку, і почніть тестування після закінчення спринту (коли розробники почнуть працювати над функціями з наступного спринту)
Мінуси:
- Розробляючи функції для поточного спринту, розробники відволікаються, виправляючи помилки від попереднього, і вони не можуть виконати обсяг роботи, який, за оцінками, був виконаний під час поточного спринту
- Потрібні дві дошки scrum: одна для поточних функцій спринту та одна для попередніх помилок спринту
Отже, моє запитання: як правильно розподілити роботу під час спринту між розробниками та тестерами, щоб ніхто не перевантажувався роботою або в будь-який момент не закінчувався без завдань? Чи є шляхи вдосконалення описаних вище підходів? Або є кращі підходи?