Визначення поняття "Готово", якщо декілька команд розвитку працюють над одним продуктом


12

Один із тестів scrum містить питання про визначення, яке найкраще описує "Готово", коли кілька команд розробників виконують роботу над одним продуктом.

В правильній відповіді зазначено, що ці команди розробників повинні мати таке визначення поняття "Готово", що може зробити їх сумісну роботу потенційно звільненою.

Що мені не зрозуміло з належної відповіді на цю вікторину, це:

  • можуть команди мають різні визначення поняття "Готово"? У якій мірі?
agile  scrum 

Подумайте про команду, яка безпосередньо випускає продукт, а також ту саму роботу, яку використовують інші команди.
Ян

Або, наприклад, англійські версії програмного забезпечення можна поставити перед перекладом на французьку мову.
Іван

Така плутанина, чому я ніколи не кажу, що щось робиться. Натомість я завжди точно кажу те, що ми зробили. Вирішити, чи щось робити - це переговори. Не декларація. Незалежно від того, яке визначення ви дотримуєтесь.
candied_orange

Відповіді:


16

Коли всі команди визначають "Готово" таким чином, що враховує роботу, виконану іншими командами, ви гарантуєте, що функціональність завершена.

Якщо кожна команда визначає "зроблено" по-різному і просто очікує, що інші команди дізнаються про це визначення, у вас виникнуть кілька проблем:

  • Коли виникає проблема інтеграції, жодна команда не захоче взяти на себе відповідальність за її виправлення. Зрештою, це було "зроблено", коли вони почали інтегрувати речі, тому це має бути щось із роботою іншої команди.

  • Коли у вас є більше, ніж декілька команд, стає важко запам’ятати «визначення кожного зробленого», особливо, коли між командами є відмінності.

  • Визначення зробленого не гарантується, що передбачає, що робота з інтеграції працює належним чином.

У прийнятій відповіді чітко сказано, що все не робиться, поки робота всіх команд не буде інтегрована та функціонує належним чином. Він повинен бути звільненим і, таким чином, здатний бути прийнятим кінцевими користувачами в повному обсязі.


Редагувати у відповідь на коментарі: Це не означає, що кожна команда має однакове визначення зробленого. Це означає, що частиною визначення кожної команди є зроблено більшу систему та інші інтегруючі компоненти не порушені.


Прошу пробачення, але мені здається, що правильна відповідь нічого не говорить про наявність єдиного визначення "Готово". Більше того, я не впевнений, що в нього повинні бути включені особливості інтеграції. Скажіть, якщо обидві команди працюють над абсолютно різними реалізаціями одного і того ж API, призначеного для різних клієнтів? Однак формально вони все ще працюють над тим самим продуктом.

2
@Andremoniy, правильна відповідь насправді нічого не говорить про один DoD, але це означає, що DoD-групи всіх команд повинні мати спільний елемент, щоб загальний продукт залишався функціональним. Ваш приклад різних команд, що працюють над різними реалізаціями API, не переконує мене, що це можна назвати одним продуктом.
Барт ван Інген Шенау

2
@Andremoniy, як тільки одна команда залежить від роботи іншої команди, питання інтеграції можуть (і будуть) виникати, навіть якщо деталі будуть розміщені в різних місцях. Це також проблема інтеграції, наприклад, коли одна мікросервіс використовує іншу мікропослугу несподівано, можливо, неправильно.
Барт ван Іґен Шенау

2
@Andremoniy: Ви маєте рацію, що ці дві команди не повинні використовувати один і той же DoD, але вони можуть поділити правило, що будь-які зміни не повинні негативно впливати на іншу команду (що здебільшого спричинить, якщо робота передбачає зміни інтерфейсу зі спиною -закінчити сервер).
Барт ван Іґен Шенау

1
@Andremoniy: Дякуємо за ваші коментарі. Я оновив свою відповідь, щоб вирішити деякі проблеми, які ви порушили.
Грег Бургхардт

6

Я можу уявити собі ситуацію, коли одна команда визначає "Готово" як "Готово до розробки" (тобто код об'єднаний у репо), а інший визначає це як "Тестування виконано" (тобто код, випущений у Q / A та протестований).

Це по суті призведе до серйозних проблем, оскільки загальний стан продукту був би в значній мірі невизначеним, і, отже, важко буде сказати, чи можемо ми його реально випустити чи ні.


Чи вважаєте ви належну відповідь однією із заяв, що всі команди мають одне і те ж визначення?

Так, я погоджуюся, що має бути загальне визначення з простої причини - Складним проектом можна вважати структуру дерева, де підпроекти (наприклад, мікросервіси) створюють загальний продукт (наприклад, MyCool ERP). Тож у певний момент часу ви хочете дізнатися, чи можна випустити нову версію продукту. Але якщо у вас є різні DoD для певних підкомпонентів, то цю інформацію вивести надзвичайно важко.
Павло Горчинський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.