Собираетесь начать практиковать Scrum у себя в компании? Или вы уже работаете по Scrum'у пару месяцев? У вас уже есть базовые понятия, вы прочитали несколько книг, а, возможно, даже получили сертификат Scrum Master'а? Поздравляю!
Однако, согласитесь, какая-то неясность всё равно остаётся.
По словам Кена Швебера, Scrum — это не методология, это фреймворк. А это значит, что Scrum не дает готовых рецептов, что делать в тех или иных случаях. Вот незадача!
Но у меня для вас есть хорошая новость: я расскажу, как именно я практикую Scrum… очень подробно и со всеми деталями. Однако, и без плохой новости не обойдётся: я расскажу всего лишь о том, как практикую Scrum я. Это значит, что вам не обязательно делать всё точно так же. На самом деле, в зависимости от ситуации, я и сам могу делать что-то по-другому.
Достоинство Scrum'a и одновременно самый большой его недостаток в том, что его необходимо адаптировать к вашей конкретной ситуации.
Моё видение Scrum'а формировалось на протяжении целого года и стало результатом экспериментов в команде численностью около 40-ка человек. Одна компания попала в крайне сложную ситуацию: постоянные переработки, авралы, серьёзные проблемы с качеством, проваленные сроки и прочие неприятности. Эта компания решила перейти на Scrum, но внедрить его толком у неё не получалось. В итоге эта задача была поручена мне. К тому времени для большинства сотрудников слово «Scrum» было просто набившим оскомину термином, эхо которого звучало время от времени в коридорах без какого-либо отношения к их повседневной работе.
Через год работы мы внедрили Scrum на всех уровнях компании: поэкспериментировали со всевозможными размерами команд (от 3 до 12 человек), попробовали спринты различной длины (от 2 до 6 недель) и разные способы определения критерия готовности, разнообразные форматы product и sprint backlog’а (Excel, Jira, учетные карточки), разные стратегии тестирования, способы демонстрации результатов, способы синхронизации Scrum-команд и так далее. Также мы опробовали множество XP практик: с разными способами непрерывной интеграции, с парным программированием, TDD (разработкой через тестирование), и т. д. А самое главное — разобрались, как все это дело сочетается со Scrum'ом.