Definition of DONE в розробці програмного забезпечення


Давайте уявимо, що в кінці кожної ітерації в 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

Таким чином, наступного разу, коли розробник прийде і скаже: “Я зробив!”, всі будуть точно знати, що це означає.