На сегодняшний день большинство моих клиентов уже не удивишь понятием критериев готовности (Definition of Done). Вот список того, что организации знают о критериях готовности, причем, чем ниже по списку, тем меньше шансов, что это на самом деле практикуется:
Вот о последних трех пунктах мне и хотелось бы поговорить более подробно.
Итак, обо всем по порядку.
Если мы занимаемся разработкой программного обеспечения, когда же наступает тот момент, когда разработчик может сказать “Готово”? Когда мы слышим “Готово! Работает на моей машине” – это готово или нет? Или “Готово! Unit test исполняется без ошибок” – это готово? Или “Готово! Работает в stage среде” – может быть, это настоящее готово? На картинке слева вы видите всевозможные комбинации “Готово”. По сути, критерии готовности – это просто список всего, что нам нужно сделать прежде, чем мы сможем сказать “Готово”. Нетрудно догадаться, что правильных критериев готовности не существует. Каждая организация вправе называть “Готово” свой набор определенных критериев. Кто-то сертифицирован по стандарту ISO 9001 и в их “готово” будет производство документации и занесение ее в центральное электронное хранилище, а кто-то просто довольствуется комментариями в коде.
Хочется отметить, что некое мерило критериев готовности у нас все же есть. Ведь, если посмотреть на критерии готовности со стороны пользователя (заказчика), то единственное “готово”, о котором он печется, будет “Готово, я могу это потрогать в моем программном обеспечении, в той среде, где я и буду этим пользоваться”. То есть готово и находится в продакшн. Понятно, что далеко не всякая организация может добиться выхода в продакшн по окончании каждой итерации, однако, стремиться к этому все-таки нужно.
Во многих организациях аджайл команды могут довольно быстро (1-4 недели) довести спринт бэклог до состояния готовности, согласно заранее согласованным Критериям готовности, и встать перед пропастью. Пропастью между тем, что мы называем “готово”, и тем, о чем заботятся конечные пользователи, а именно, готово в продакшн. Кое у кого процесс преодоления пропасти занимает от 3 до 6 месяцев. То есть, вот у нас все “готово”, но до того как наши пользователи смогут это потрогать, пройдет еще полгода.
Если ваша организация является одной из вышеупомянутых и вы тоже (пока) не можете выходить в прод в конце каждой итерации, очень советую вам задокументировать свою пропасть. Подробно опишите, что происходит у вас с момента “готово” до момента “готово в продакшн”. Какие телодвижения надо предпринять? Кто их предпринимает? Каковы процедуры выполнения нужных шагов?
Составьте этот список и повесьте его на видное место, рядом с Критериями готовности. Постарайтесь сделать эти два списка неразлучными. Идете на демо и несете с собой флип-чарт с Критериями готовности? Прихватите с собой и флип-чарт с “пропастью”. Это потребует определенной смелости, особенно, первый раз, но ведь аджайл это именно об этом. Помните Храбрость (Courage), как одну из аджайл ценностей?
Само наличие подобного списка станет уже очень большим шагом вперед для вашей организации. Ведь теперь вы сможете им пользоваться, для того, чтобы очередной раз вывести в продакшн кусок готового функционала.
После того, как пропасть задокументирована и сделана видимой, все пойдет немного легче. Если вы сделаете список с пропастью видимым, обещаю вам, он гарантировано станет безмолвным инициатором не одного “трудного” разговора на всевозможных уровнях в вашей компании. Люди начнут задаваться вопросами: “Почему так?”, “Что мы можем сделать, чтобы было по-другому?”, “Как это можно ускорить?” и прочими, то есть, начнется настоящая работа. Работа по тому, как уменьшить пропасть. На каждом демо, на каждой ретроспективе вы сможете посвящать 10 минут тому, чтобы подумать, а как мы можем быть более “готовыми” в следующий спринт?
Очень рекомендую целиком посвящать этому важному вопросу одну ретроспективу в год, собирая вместе всю организацию. Это станет для вас хорошим двигателем вперед (для кого-то вечным двигателем :)).
А как у вас с Критериями готовности? На какой стадии остановились вы? Делимся в комментариях.
Фактическая поставка ценности на рынок происходит только в момент релиза.Благодаря тому, что усиление Критериев Готовности приводит к частым релизам и гибкости, Скрам-команда может бесконечно улучшаться, чтобы когда-нибудь начать поставлять фичи на рынок каждый день. Получаем усиливающую петлю:
[...] Пропасть критериев готовности – очередное напоминание о критериях готовности [...]