Хто пише технічні «розповіді користувачів» у scrum


11

Я знаю, що власник продукту повинен писати історію користувача в scrum.

Історія користувача описує функцію для кінцевого користувача.

Але хто описує, що потрібно технічно розробити і як це потрібно здійснити

і де ця інформація зберігається щодо scrum?

Це дійсно мене зацікавило б!

Я бачу великий брак знань у нашій компанії, коли розробник починає впроваджувати історію, але вони не знають, ЯК реалізувати її!

Наприклад, їм доводиться мати справу зі застарілим COM API і не мають уявлення, як з цим впоратися, або вони не технічно кваліфіковані з WPF / WEB або будь-яким іншим.

Як Scrum допомагає людям розпочати історію користувача?

Відповіді:


19

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

As a non-technical user, I need to have a simpler interface with the API

У той час як власник продукту визначає, які користувацькі історії є найвищим пріоритетом, програмісти приймають ці пріоритети і перетворюють їх у список завдань (так званих "спринт"). Тут ви отримуєте уявлення про те, як ви збираєтеся реалізувати речі ... відставання спринту може бути настільки ж технічним, наскільки ви хочете. Тут ви також дізнаєтесь, "щоб досягти більш простого API, нам доведеться переробляти цей божевільний API API. Хтось знає, як це використовувати?". Коли відповідь - "Пекло ні", ви почнете бачити, що обсяг цієї історії користувача може бути більшим, ніж здається. Враховуючи це, ви можете розбити історію користувача на завдання:

  • Документуйте та розумійте поточний API
  • Розробіть новий API
  • Впровадити новий API
  • Що б не ...

Враховуючи це, добре узгодити історії користувачів, щоб розбити їх на менші зміни. Швидка методологія означає, що ви хочете поступово наближатися до того, що людина хоче. Тому ви можете сказати: "Привіт, ми не можемо переробити API лише за одну ітерацію. Давайте розділимо його на" Як нетехнічний клієнт, мені потрібен добре документально підтверджений API 'ect ".


3
Я бачу, чому ти не ненависний спритний; ти знаєш, що робиш.
JeffO

@JeffO хаха, що це, мабуть, неправильна відповідь на видалений коментар, який був просто "хижий сказ спритний поганий".
IdeaHat

@IdeaHat - Ще кілька прикладів неясних вимог, коли "непідготовлений" менеджер продуктів або БА по суті створює користувацькі історії softwareengineering.stackexchange.com/a/384838/260655
MasterJoe2

10

Коротка відповідь

Команда Dev пише технічні речі. Scrum допоможе вам трохи, але не так багато в процесі технічної несправності. початок роботи з користувацької історії. Scrum - це майже Що-Світ - тільки. Технічна поломка - How-World .

Розбиття, передбачене Scrum,:

  • Історія користувача -> Критерії прийняття

Поширені люди часто використовують поверх цього:

  • Епічні -> Історії користувачів
  • Історія користувача -> Підзадачі
  • Критерії прийняття -> Тести на прийняття

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

Щоб отримати подальші вказівки щодо розбиття роботи, знайдіть XP (екстремальне програмування), чистий код , прагматичне програмування , інженерія програмного забезпечення , CRC-карти , OOP / OOA / OOD , шаблони дизайну , рефакторинг , ефективна робота зі застарілим кодом , TDD ( Тест-керований розвиток), BDD (поведінка-керований розвиток), ATDD (прийняття-тест-керований розвиток).

Довга відповідь

Як думає Scrum

Що-Світ і Як-Світ

Існує Що-Світ і Як-Світ . Як ви почували себе правильно, історія користувача призначена для користувачів , генеруючи ділову цінність, яка називається вторинною цінністю у What-World . Scrum - це здебільшого лише What-World. Це майже нічого не говорить про How-World , в основному не більше ніж "How-World - це відповідальність команди Dev".

Історія користувача проти завдання

Зазвичай елементи "Блокування", які призначені для How-World , називаються не Історією користувача, а Технічною Завданням або Підзадачею . Багато інструментів дозволяють розбивати історію користувачів з What-World на підзадачі в How-World .

Як Scrum допомагає і де ця допомога закінчується

Допомога Scrum for the How-World закінчується на кількох пунктах зустрічі планування спринту :

  • [Спринтарська зустріч з планування ] Команда виявляє нерозуміння історії, якщо різні товариші команди придумують різні оцінки Story Point під час Планування покеру -> Дискусія.
  • [Визначення готовності] Команда не приймає Історії користувачів, які занадто великі (Історія балів зависока). Основне правило, знайдене в багатьох визначеннях готовності, полягає в тому, що бали за історію повинні бути менше половини швидкості команди.
  • [Визначення готовності] Команда не приймає Історії користувачів без достатнього опису Критеріїв прийняття. Критерії прийняття є достатніми, якщо команда має достатньо впевненості в тому, як почати писати тести на прийняття.

Кілька порад щодо рівня Scrum

Мені було корисно робити розбиття Історій користувачів на підзадачі під час зустрічей із уточненням відставання або принаймні у другій частині зустрічі планування спринту (для деяких команд Sprint Planning 2 зборів).

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

І не робити "(Архітектура | Дизайн | Впровадження | Тест) Feature X" як Історії користувачів. Я рекомендую вам навіть спробувати уникнути цього як підзадачі.

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

Поза Scrum

Майстер Scrum за межами Scrum

Сьогодні Майстра Scrum в основному розуміють як роль менеджера , і це фігня. Спочатку майстер Scrum був, і я виступаю за це, технічну роль , а не управлінську роль, як тренер в XP .

Покладатися на Scrum і Майстра Scrum все занадто просто і, таким чином, потрапляти у величезний розрив, оскільки Scrum майже нічого не говорить про How-World.

Обертовий Scrum Master

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

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

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

Команда самоорганізації

З точки зору Scrum, команда повинна з’ясувати себе, в ідеалі за допомогою майстра Scrum .

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

Тести на прийняття

Історії користувачів мають критерії прийняття . Ці критерії приймання перетворюються на тести прийняття

Інші речі

Перелік додаткових матеріалів для розбиття див. У розділі Як розділити проект програмування на завдання для інших розробників?

Сподіваюсь, це допомагає.


1

Той, хто найкраще кваліфікується в команді, повинен розділити вимоги власників продуктів на цікаві історії користувачів. З мого досвіду ми використовували такий підхід:

  • Це завжди розробник, який пише історії на основі дискусій з власниками продуктів.
  • Потім ці історії розробники оцінюють (виходячи з балів чи часу)
  • Потім власники продуктів вирішують, як розставити пріоритет.

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

  • Завдання може бути недостатньо зрозумілим (додати більше деталей / скріншоти / макети)
  • Його потрібно розбити далі, щоб конкретніші завдання були зрозумілішими
  • На це потрібно більше часу, щоб розробник міг досліджувати та навчитися його реалізовувати. (Оцінюючи це завдання, додайте більше часу для обліку цього)
  • Розробник недостатньо кваліфікований для його впровадження, і його може знадобитися призначити комусь іншому, або розробнику потрібно допомогти хтось інший.

Ви можете безкоштовно пройти цей курс на SCRUM в Udemy та дізнатися про окремі аспекти процесу SCRUM - https://www.udemy.com/scrum-methodology/


0

Коротка відповідь така: власник продукту несе відповідальність за створення історій, які повинна викласти команда. Саме команда вирішує, як передавати розповіді. Якщо частина доставки включає деякі технічні історії, команда пише ці історії. Потім команда працює з власником продукту, щоб визначити пріоритет.

Знову ж, PO вирішує, що будувати, команда отримує рішення, як реалізувати ці історії.


0

Це не Agile проблема. Проблема полягає в тому, що команда не має достатньо технічних знань, щоб завершити історію користувача (спритний) або вимоги (традиційні). Чи може Agile допомогти в цій ситуації? Ні, якщо команда не була обрана ретельно і ніхто в команді не має достатнього технічного досвіду для виконання своїх завдань. Так, якщо хтось із членів команди має хороші технічні знання, які можуть допомогти іншим членам команди виконати свої завдання. Для цього команда повинна бути самоорганізованою і повинна знати, що це сила та слабкі сторони.

будь ласка, пам’ятайте наступний принцип Agile.

"Найкращі архітектури, вимоги та проекти випливають із самоорганізуючих команд"

Це трапляється тому, що в Agile середовищі довіра колективу висока, і вони делегують роботу між собою.

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