У Scrum, хто підтверджує "Готово"?


13

Я менеджер з питань контролю якості та тесту у своїй організації і до сьогоднішнього дня перевіряв якість програмного забезпечення (написані та виконані тести та виправлені помилки). Хто перевірить це в Scrum? Як я знаю, що команда написала та виконала всі правильні тести? З іншого боку, я боюся, що якщо я продовжую робити перевірку, команда не почуватиметься такою повноважною. Але мені потрібен певний процес перевірки того, що "Готово" справді "Готово". Що ти пропонуєш?


Відповіді:


21

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

Але щоб зменшити ймовірність того, що щось проскочить, має ідеальний сенс встановити правило, що перевірку "зроблено" більшість виконують хтось, крім особи, яка реалізувала предмет, - або призначений хлопець із якості якості, як ви (але це ризикує зробити вас вузьке місце).

Якщо ви сумніваєтесь, обговоріть із командою та майстром Scrum та вирішіть разом.


+1, хоча власник продукту зазвичай не вважається частиною команди (а), його зазвичай малюють поза колом команди, але все ж таки мають (або повинні) сказати у визначенні зробленого. Це єдиний спосіб, коли власник продукту може (дозволено) впливати на роботу команди.
Мар'ян Венема

1
@MarjanVenema Власник Продукт дуже вважається частиною Scrum команди. Насправді, без власника продукту, Scrum мало шансів на успіх.
Дерек Девідсон PST CST

1
@Derek: Я думаю, у вас виникають непорозуміння, засновані на незрозумілій термінології. Є і "Scrum Team", і "Team Development", причому остання входить до складу першого, а також Власник продукту та Scrum Master.
Майкл Боргвардт

2
@MichaelBorgwardt Саме тому у своїй відповіді я так зрозуміло, що Власник продукту є частиною команди Scrum . Я погоджуюся з тим, що Власник продукту не є членом Команди розвитку, але контекст цього не пояснює. Я сподівався на явну плутанину. Здається, я, можливо, ненароком створив деякі :)
Дерек Девідсон PST CST

6

Я думаю, що у питанні є неявне припущення. Існує відмінність між "прийнятим", коли Власник продукту оголошує, що товар із затримкою або завдання задовольнив Власника продукту, і "виконано", тобто вся робота, пов'язана з предметом відставання, завершена.

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

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

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


4

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

Під час спринту, якщо ви намагаєтеся визначити, чи був виконаний один із цих пунктів у визначенні зробленого, просто запитайте. Scrum and agile - це все щодо відкритого спілкування. Якщо ви є членом команди, запитайте своїх товаришів по команді, чи хтось написав тести, чи запустив їх, або створив нічну роботу і т. Д. Якщо ви зацікавлений, попросіть майстра розробки.

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

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


Мені потрібно переглянути тести, інакше я б не знав, чи були написані правильні тести. Визначення "Готово" не включає точні тести, які слід писати.
Євген

@ user3251930: навіщо вам їх переглядати? Ви не довіряєте своїй команді? Хоча, якщо вам дійсно потрібно переглянути їх, зробіть частину визначення виконаних "тести перевірені користувачем3251930".
Брайан Оуклі

Якщо клієнти отримають щось не повністю перевірене, це було б справді погано. Можливо, вчасно я зможу довіритися команді, сподіваюся, що так.
Євген

1

Перше запитання, яке ви повинні задати собі

Ти майстер Scrum ? якщо так.

У процесах scrum контролюється і керується майстром Scrum.

Як ти це робиш:

На етапі вимог ви можете користуватися історіями користувачів для кожного є тест, який потрібно перевірити.

У кожному спринті Робочі елементи витягуються із запуску продукту та спрямовуються власником продукту. Кожен з них також матиме критерії перевірки.

Тепер у Scrum вимоги не змінюються після запуску спринту. У кінці спринту ви можете проаналізувати перевірку відповідно до критеріїв для кожного зробленого пункту.

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

Пам’ятайте, що в Agile ви «Охоплюєте зміни» навіть пізно в фазу розвитку


0

Команда вирішує. Я використовую контрольний список для того, що вважається "Готово". Що "Готово" за історію, за спринт, за реліз.

Як зазначали інші, врешті-решт рішення лежить на власнику продукту.


це лише ваша особиста думка чи ви можете якось це підкріпити?
гнат

-1

Погодьтеся, що це щось, що розробник / тестова група повинна визначити, залежно від вашої власної практики. Деякі проекти працюють настільки спритно, що вони готові ризикувати випуском помилок у свій альфа-потік; деякі вважають помилку, яка потрапляє за межі групи розробок.

Проект, над яким я працюю, вимагає експертної перевірки змін коду, і вимагає, щоб той, хто написав код, або надав / оновив регресійні тести, або пояснив, чому це зробити неможливо. (Вони та їх рецензент також повинні підтвердити, що вони перевіряли наявність відомих поганих практик. Ми, як правило, набагато щасливіші, якщо вони можуть показати, що вони виконали повний набір тестів і отримали чистий результат (або чистий модуль відомий щонайменше, відкритих питань) Код повинен пережити інтенсивне автоматизоване одиничне та функціональне тестування на декількох платформах, щоб продемонструвати, що він не викликає регресій проти них, і він додатково перевіряється на наявність загальних антипакетів за допомогою автоматизованої системи аналізу коду. то ми приймаємо його в основний потік розробки та відзначаємо робочий елемент завершеним.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.