Що таке Definition of Done (DoD)?
Definition of Done (DoD) - це єдиний набір критеріїв, за якими команда визначає, що робота дійсно завершена. Іншими словами, це чітка відповідь на питання: «Коли завдання чи функціонал можна вважати повністю готовим?»
DoD усуває двозначність між "майже зроблено" і "готово до релізу", забезпечуючи прозорість і однакове розуміння якості у всіх учасників проекту.
Суть і призначення
Definition of Done - це не просто формальність, а гарантія якості та узгодженості. Якщо завдання не задовольняє всім пунктам DoD, воно вважається незавершеним, незалежно від того, скільки коду вже написано.
DoD допомагає:
- оцінювати готовність інкременту за єдиними стандартами;
- підвищувати якість продукту;
- зменшувати кількість технічного боргу;
- синхронізувати очікування між командою, тестувальниками і замовником.
Приклади пунктів Definition of Done
DoD може відрізнятися від команди до команди, але зазвичай включає декілька обов'язкових категорій:
- Готовність коду
- Код написаний, відформатований і відповідає стандартам команди.
- Усі рев'ю проведені, зауваження виправлені.
- Код змерджений в основну гілку без конфліктів.
- Тестування
- Написані й пройдені юніт-тести.
- Проведено інтеграційне тестування.
- Немає критичних багів чи падінь.
- Документація
- Оновлені README, коментарі та технічні специфікації.
- За потреби додані інструкції з використання нової функції.
- Збірка і деплой
- Фіча коректно збирається і розгортається в тестовому середовищі.
- Пройдено ручне або автоматичне тестування.
- Бізнес-критерії
- Усі Acceptance Criteria (критерії приймання) виконані.
- Функціонал відповідає описаним вимогам і баченню Product Owner.
Де застосовується
- До кожного завдання (user story) - щоб зрозуміти, чи можна його закрити.
- До інкременту спринту - щоб вирішити, чи можна вважати спринт завершеним.
- До релізу продукту - щоб переконатися, що версія готова до випуску в продакшн.
Приклад простого DoD для команди
- Код написаний і пройшов рев'ю.
- Усі тести зелені.
- Немає помилок у логах.
- Документація оновлена.
- Product Owner прийняв завдання.
- Функціонал готовий до релізу на staging.
Різниця між DoD та Acceptance Criteria
| Параметр | Definition of Done | Acceptance Criteria |
|---|---|---|
| Рівень | Загальний для всієї команди | Унікальний для конкретного завдання |
| Суть | Що означає "готово" в принципі | Що означає "виконано" саме в цьому завданні |
| Приклад | Протестовано, задокументовано, пройшло рев'ю | Кнопка "Оплатити" змінює статус замовлення на "Оплачено" |
Висновок
Definition of Done - це загальний стандарт "готовності", який об'єднує команду. Він робить якість вимірюваною, процес - прозорим, а результат - надійним. Якщо щось не відповідає DoD, це не "майже готово" - це ще не готово.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.