В определении готовности описываются критерии, которым должен удовлетворять инкремент продукта, чтобы быть готовым к выпуску. В определении готовности содержатся качества продукта, а также действия, задачи и работы, которые должны быть выполнены, чтобы продукт стал готовым к выпуску. Готовность – это качество инкремента, а потому – один из артефактов скрама.
Определение готовности критически необходимо для оценки и планирования работы, обязательной для создания готового к выпуску инкремента, на этапе планирования спринта и для проверки этого инкремента на обзоре спринта. Определение готовности помогает сделать прозрачными работу, которую необходимо выполнить, и результат проделанной работы.
К «готовому к выпуску инкременту» часто добавляется префикс «потенциально». Он подчеркивает, что ответственность за принятие решения о выпуске инкремента лежит на владельце продукта. Это решение основывается на целесообразности для бизнеса, которую можно было увидеть за время спринта или на обзоре спринта. Решению владельца продукта о релизе не должны препятствовать задержки в разработке, поэтому вся необходимая работа по достижению уровня готовности должна быть выполнена не позднее обзора спринта.
Эмпиризм скрама хорошо работает только при наличии прозрачности. Она требует общих стандартов работы и проверки качества. Определение готовности устанавливает стандарт для готовности к выпуску, он должен быть известен всем игрокам. Прозрачность – это не только доступность всей информации, но и ее понятность. Определение готовности должно быть ясным и не требующим пояснений.
Организация, которая зависит от продуктов и сервисов, должна иметь определение качества продукта, зафиксированное, например, в стандартах, гайдах, правилах, уровнях сервиса или других документах. Они определяют, что такое качество. Скрам-команды, состоящие из профессиональных разработчиков продуктов, являются неотъемлемой частью организации, а не изолированными бандами кодеров-головорезов внутри организации, поэтому скрам-команды тоже должны следовать общим продуктовым стандартам, установленным организацией.
Если организация предъявляет минимальные требования к определению готовности работы, команда разработки должна дополнить их контекстно-специфическими элементами, относящимися к продукту, его выпуску, технологии. Если определения готовности нет вообще, команда разработки, как команда профессионалов, должна создать подходящее для своей работы определение.
С помощью определения готовности качество становится сердцем скрама. Никакая незавершенная работа не является частью инкремента. Никакая незавершенная работа не выводится в эксплуатацию. Никогда. Приемка инкремента, основанная на определении готовности, может инициировать на обзоре спринта совместное обсуждение качества, требований и определений качества в организации. Это поможет команде обсудить адекватность определения готовности на последующей ретроспективе спринта.
Определением готовности владеет в первую очередь команда разработки, так же как бэклогом продукта владеет в первую очередь владелец продукта. Команда разработки ответственна за сложную работу, необходимую для создания работающих версий продукта, удовлетворяющего определению готовности. Определение готовности не может быть упрощено внешними (по отношению к команде разработки) силами. Команда разработки строит свое определение готовности на основе общих организационных ожиданий и предписаний. Команда разработки включает в определение готовности специфичные качества продукта и удовлетворяет ожидания владельца продукта в отношении функциональности и качества.
Решения по поводу определения готовности могут зависеть от навыков, согласований и доступности внешних систем, сервисов и интерфейсов. Несмотря на то, что зависимости от внешних систем и интерфейсов могут привести к переупорядочиванию работ в бэклоге продукта, команда разработки должна продолжать работу. Можно использовать заглушки и симуляторы для недоступных систем или неразрешенных технических зависимостей. Но все стороны знают, что работа в действительности не завершена, так как определение готовности не отражает готовность к выпуску. В системе скрывается непредсказуемый объем работы, и в какой-то момент он должен быть выполнен, чтобы продукт действительно был готов к выпуску. Пока этого не случится, у владельца продукта заблокирована возможность выпуска продукта. К счастью, обзор спринта показывает эту информацию, в том числе и заинтересованным лицам, а значит, увеличиваются шансы, что внутри организации будут предприняты необходимые действия.
Определение готовности подчеркивает важность создания потенциально готового к запуску продукта. Эта готовность достигается за счет того, что в спринте выполняется абсолютно вся необходимая работа.
2.6. ОСНОВНЫЕ ПРИНЦИПЫ СКРАМА