Открыть сервис

Критерий завершённости

Критерий завершённости — это совокупность формальных и неформальных требований, определяющих, что процесс, задача, проект или этап работы могут считаться выполненными и не требуют дальнейших действий. В управлении проектами, разработке программного обеспечения, производстве и других сферах критерий завершённости служит основой для принятия решения о переходе к следующему этапу или о сдаче результата заказчику. Отсутствие чётко определённых критериев приводит к неоднозначности, затягиванию сроков и снижению качества.

История возникновения понятия

Понятие критерия завершённости (англ. Definition of Done, DoD) получило широкое распространение в начале 2000-х годов в рамках гибких методологий разработки программного обеспечения (Agile), в частности в Scrum. До этого в классических (каскадных) моделях управления проектами завершение этапа определялось формальными документами — актами приёмки, протоколами испытаний, утверждёнными спецификациями. Однако практика показала, что такие документы часто не отражают реального состояния продукта: код мог быть написан, но не протестирован, документация — составлена, но не актуализирована.

В 2001 году, после публикации Манифеста Agile, сообщество разработчиков начало активнее внедрять итеративные подходы. В Scrum, описанном Кеном Швабером и Джеффом Сазерлендом, критерий завершённости стал обязательным элементом спринта. Первоначально он был неформальным списком «что значит «сделано» для команды», но со временем превратился в стандартизированный перечень, который фиксируется в документах проекта и регулярно пересматривается.

В России термин начал активно использоваться в IT-компаниях с середины 2010-х годов, параллельно с внедрением Scrum и Kanban. В производственных и строительных отраслях аналогичные понятия (например, «критерии приёмки», «контрольные точки») существовали и ранее, но в современном менеджменте они были переосмыслены в контексте бережливого производства (Lean) и управления качеством.

Классификация критериев завершённости

Критерии завершённости можно разделить на несколько категорий в зависимости от области применения и уровня детализации.

По уровню иерархии

  • Критерии для задачи (User Story) — определяют, что конкретная функциональность или единица работы готова. Например: «Написаны юнит-тесты, код проходит ревью, документация обновлена».
  • Критерии для спринта (Sprint Goal) — устанавливают, что весь спринт считается успешным, если достигнута цель спринта и все задачи, запланированные на него, соответствуют своему DoD.
  • Критерии для релиза (Release Criteria) — более жёсткие требования, включающие нагрузочное тестирование, проверку безопасности, утверждение заказчиком, подготовку маркетинговых материалов.

По области применения

  • Технические (для разработки ПО): код проходит статический анализ, покрытие тестами не менее 80%, отсутствуют критические ошибки, выполнена интеграция с основными системами.
  • Производственные (для промышленности): изделие соответствует чертежам, пройдены испытания на стенде, подписаны акты ОТК, упаковка и маркировка выполнены.
  • Управленческие (для проектов): все запланированные работы завершены, бюджет не превышен, риски закрыты, отчётность сдана.
  • Образовательные (для курсов или модулей): студент сдал все обязательные задания, получил проходной балл, заполнил анкету обратной связи.

По степени формализации

  • Формальные — зафиксированы в регламенте, контракте или техническом задании. Их нарушение влечёт юридические или финансовые последствия.
  • Неформальные — приняты внутри команды или организации, но не имеют обязательной силы. Например, «все комментарии в коде написаны на русском языке» или «презентация должна быть отправлена за день до встречи».

Структура и содержание критерия завершённости

В большинстве методологий критерий завершённости представляет собой чек-лист, который применяется к каждой единице работы. Типовой набор для разработки программного обеспечения (по материалам Scrum Guide и практик российских IT-компаний) включает:

  • Код написан и отформатирован в соответствии со стандартами команды.
  • Код прошёл ревью (как минимум одним коллегой).
  • Написаны автоматические тесты (юнит-тесты, интеграционные тесты).
  • Все тесты пройдены (в том числе регрессионное тестирование).
  • Документация (API, пользовательская, техническая) обновлена.
  • Функциональность развёрнута в тестовой среде и проверена тестировщиком.
  • Отсутствуют известные критические и высокие дефекты.
  • Код интегрирован в основную ветку репозитория.
  • Задача в трекере переведена в статус «Готово» с указанием ссылки на коммит или версию.

В промышленности аналогичный чек-лист может включать: проверку геометрических размеров, испытания на прочность, контроль качества сварных швов, подписание паспорта изделия, упаковку в соответствии с ГОСТ.

Применение в различных методологиях

Scrum

В Scrum критерий завершённости (Definition of Done) является обязательным артефактом. Он создаётся командой разработки совместно с владельцем продукта и утверждается на старте проекта. В ходе спринта каждая задача из бэклога должна соответствовать DoD, чтобы считаться выполненной. Если задача не соответствует критериям, она не принимается и возвращается в бэклог. В российских компаниях, использующих Scrum, DoD часто пересматривается раз в квартал или после крупного релиза.

Kanban

В Kanban критерии завершённости менее формализованы, но также применяются. Обычно они привязаны к колонкам доски: например, задача может перейти из колонки «В разработке» в «Тестирование» только если код написан и прошёл ревью. В отличие от Scrum, в Kanban DoD может быть динамическим и меняться в зависимости от загрузки команды.

Каскадная модель (Waterfall)

В классических проектах критерии завершённости этапа — это утверждённые документы (технический проект, протокол испытаний, акт сдачи-приёмки). Они жёстко фиксированы в контракте и редко пересматриваются. Например, в строительстве этап «Нулевой цикл» считается завершённым после подписания акта скрытых работ и получения заключения геодезической службы.

Бережливое производство (Lean)

В концепции Lean критерий завершённости часто связан с понятием «точно вовремя» (Just-in-Time). Завершённой считается операция, которая не требует доработок и готова к передаче на следующий этап. В российских производственных компаниях, внедряющих Lean, используются «стандартные операционные карты», где прописаны точные критерии для каждой операции.

Значение и критика

Критерий завершённости решает несколько ключевых проблем управления:

  • Снижение неопределённости: все участники проекта (команда, заказчик, менеджмент) понимают, что именно означает «сделано».
  • Повышение качества: обязательные проверки (тесты, ревью, испытания) снижают вероятность дефектов.
  • Ускорение поставки: чёткие критерии предотвращают бесконечные доработки («ещё чуть-чуть улучшить»).
  • Прозрачность: статус задачи становится объективным, а не субъективным («почти готово»).

Вместе с тем, существуют и критические замечания. Во-первых, излишне детализированный DoD может замедлять работу: команда тратит время на формальные проверки, не добавляющие ценности. Во-вторых, в условиях быстро меняющихся требований жёсткий критерий может стать препятствием: задача, формально не соответствующая DoD, может быть уже достаточной для демонстрации заказчику. В-третьих, в распределённых командах или при аутсорсинге разные участники могут по-разному трактовать один и тот же пункт (например, «достаточное покрытие тестами» — 70% или 90%?).

В российской практике также отмечается, что в государственных и крупных корпоративных проектах критерии завершённости часто подменяются бюрократическими процедурами: подписание акта становится важнее реального качества продукта. Это приводит к формальному выполнению DoD, но не к фактической готовности.

Примеры из практики

Пример 1. IT-компания (Россия). Команда разработки мобильного приложения для банка использует следующий DoD для каждой пользовательской истории:

  • Код написан на Kotlin, соответствует код-стайлу.
  • Написаны юнит-тесты (покрытие не менее 80% новых строк).
  • Проведено ревью двумя разработчиками.
  • Приложение собрано и протестировано на трёх версиях Android (11, 12, 13).
  • Все критические и высокие баги исправлены.
  • Обновлена документация в Confluence.
  • Задача в Jira переведена в статус «Done» и привязана к коммиту.

Пример 2. Производственное предприятие (Россия). На заводе по выпуску металлоконструкций этап «Сварка» считается завершённым, если:

  • Швы соответствуют ГОСТ 5264-80 и прошли визуальный контроль.
  • Проведён ультразвуковой контроль не менее 10% швов.
  • Составлен акт скрытых работ.
  • Деталь промаркирована и перемещена на склад полуфабрикатов.

Пример 3. Образовательный проект. Онлайн-курс по Python считается завершённым для студента, если:

  • Сданы все 8 обязательных домашних заданий.
  • Итоговый проект прошёл автоматическую проверку (не менее 80% тестов пройдено).
  • Пройден финальный тест (не менее 70% правильных ответов).
  • Заполнена анкета обратной связи.

Связь с другими понятиями

Критерий завершённости тесно связан с критериями приёмки (Acceptance Criteria), но не является их полным аналогом. Критерии приёмки — это требования к функциональности, которые формулирует заказчик (например, «пользователь может войти в систему по email»). Критерий завершённости — это внутренние требования команды к качеству и процессу (например, «код прошёл ревью»). В идеале, DoD включает в себя и критерии приёмки, но не сводится к ним.

Также DoD пересекается с понятием Definition of Ready (DoR) — критериями готовности задачи к началу работы. Если DoD определяет, когда задача считается выполненной, то DoR — когда её можно брать в работу. В российских компаниях DoR часто включает: наличие чёткого описания, оценённые трудозатраты, согласование с заказчиком.

Источники

  1. Швабер К., Сазерленд Дж. «Руководство по Scrum» (Scrum Guide), 2020.
  2. Кон М. «Scrum: гибкое управление продуктом и проектом», 2011.
  3. Голдратт Э. «Цель: процесс непрерывного совершенствования», 1984 (в контексте Lean).
  4. ГОСТ Р 54869-2011 «Проектный менеджмент. Требования к управлению проектом».
  5. Материалы конференций Agile Russia (2015–2023).
  6. Практические руководства компаний «Яндекс», «СберТех» (в открытом доступе).
Загружаем BFOmetr…