Давайте уявимо, що в кінці кожної ітерації в SCRUM або будь-якому іншому способі Agile розробки програмного забезпечення, розробник приходить до вас і каже: “I’m done with this functionality! або функція зроблена” Але ви, звичайно, запитаєте: “Що ти маєш на увазі під словом зроблена? Вона зроблена чи повністю зроблена”
Що я хочу тут сказати: Розробники ПЗ думають, що розробка програмного забезпечення починається і закінчується з ними. Це насправді не дуже хибним твердженням, але …
Розробка програмного забезпечення набагато є більшим, ніж просто писати код. Код сам по собі не так вже й корисний. При розробці команда повинна визначити критерій, коли продукт можна назвати готовим (DoD), але тоді це буде набагато більше, ніж “просто кодування”.
Приклад визначення готовності фунціоналу (Definition of Done)
Розробка / Кодування
- Код написаний з модульними тестами
- Код був об’єднаний в Main
- Код розглянув хтось інший, ніж автор
Тестування / Розгортання (Deployment)
- Написані QA тести
- Функція підтверджена QC
- Функція протестована QA
- Написані і проведені UI тести
- Прийняті Product Owner
Як ви можете бачити, в режимі реального визначення готовності функціоналу, міститься набагато більше кроків, ніж сам код. Як визначити цей критерій готовності (DoD)?
Визначення Definition of Done (DoD)
- Зберіть команду перед або на початку старту проекту
- Почніть дискусію, коли фунціонал може вважатися DONE
- Намагайтеся уникати двозначності і відмінності у визначенні
- Запишіть визначення!
- Всі члени команди повинні слідувати DoD
Таким чином, наступного разу, коли розробник прийде і скаже: “Я зробив!”, всі будуть точно знати, що це означає.