Что такое Скрам? | Agile тренинги, обучение и сертификации Scrum, Kanban, DevOps в Scrum Украина

Визначення Скраму

Скрам (з англ. Scrum – штовханина, сутичка навколо м’яча в реґбі) — це підхід, який дозволяє вирішувати складні адаптивні проблеми, і водночас продуктивно та творчо розробляти продукти найвищої якості. Скрам:

  • Легкий в теорії
  • Простий для розуміння
  • Складний в опануванні

Скрам — це процесний підхід, який використовують для управління роботою над складними продуктами з початку 90-х років. Скрам не є процесом, технікою чи дефінітивним методом. Це радше підхід, який дозволяє застосовувати різноманітні процеси та техніки. Скрам демонструє відносну ефективність Вашого способу управління продуктом та технік роботи, спонукаючи Вас постійно покращувати продукт, команду та робоче середовище. Скрам передбачає Скрам Команди (Scrum Teams) з відповідними ролями (roles), події (events), артефакти (artifacts) та правила (rules). Кожен компонент Скраму має своє призначення та є ключовим для успіху та використання Скраму. Правила Скраму, прописані у цьому документі, пов'язують ролі, події та артефакти, регулюючи взаємодію між ними. Певні тактики використання Скраму можуть відрізнятись та не описані у цьому посібнику

Застосування Скраму

Першочергово Скрам було створено для управління продуктами та їх розробкою. Починаючи з 90-х років, Скрам широко застосовували у всьому світі для, того щоб:

  1. Дослідити та визначити потенційні ринки, технології та можливості продукту.
  2. Розробляти продукти та вдосконалювати їх.
  3. Випускати продукти та вдосконалювати їх декілька разів на день.
  4. Розробляти та підтримувати хмарні (онлайн, захищені, на вимогу) та інші операційні середовища для продукту.
  5. Підтримувати та оновлювати продукти.

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

Теорія Скраму

Скрам ґрунтується на теорії управління емпіричними процесами або емпіризмі. Емпіризм стверджує, що знання приходить з досвідом, а прийняття рішень має відбуватись на підставі того, що вже є відомим. Скрам використовує ітеративний, інкрементальний підхід для оптимізації прогнозованості та управління ризиками. Три основні принципи лежать в основі реалізації контролю за емпіричним процесом: прозорість (transparency), перевірка (inspection) та адаптація (adaptation).

Прозорість

Важливі аспекти процесу повинні бути видимими для тих, хто відповідає за результат. Під “прозорістю” мають на увазі, що такі аспекти повинні бути визначені загальними стандартами; це дозволить усім учасникам мати єдине розуміння. До прикладу:

  • Всі учасники процесу повинні використовувати однакову термінологію.
  • Ті, хто виконують роботу, і ті, хто оцінюють її результат, повинні мати єдине розуміння “виконаної” роботи та “готового” продукту.

Перевірка

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

Адаптація

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

  • Планування Спринту (Sprint Planning)
  • Щоденний Скрам (Daily Scrum)
  • Ревю Спринту (Sprint Review)
  • Ретроспектива Спринту (Sprint Retrospective)

Цінності Скраму

Якщо почуття обов’язку, сміливість, зосередженість, відкритість та повага є основою роботи Скрам Команди, то в такому випадку найважливіші принципи Скраму – прозорість, перевірка та адаптація – легко втілюються в життя і стають основою співпраці. Члени Скрам Команди вивчають та досліджують ці цінності під час роботи з подіями, ролями та артефактами Скраму.

Успішне використання Скраму залежить від того, наскільки вміло люди втілюють ці п’ять принципів. Кожен бере на себе зобов'язання досягти цілей Скрам Команди. Члени Скрам Команди беруть на себе сміливість зробити правильну річ, працюючи над складними проблемами. Усі зосереджуються на роботі Спринту та цілях Скрам Команди. Скрам Команда та зацікавлені особи погоджуються відкрито говорити про роботу та усі проблеми, пов'язані з її виконанням. Члени Скрам Команди поважають один одного та почуваються самодостатніми та незалежними.

Скрам Команда

Скрам Команда складається з Власника Продукту (Product Owner), Команди з Розробки (Development Team) і Скрам Мастера (Scrum Master). Скрам Команди є самоорганізовані та крос-функціональні. Самоорганізовані команди самі обирають як найефективніше виконати роботу та не чекають вказівок від людей, які не входять до складу команди. Крос-функціональні команди володіють усіма необхідними знаннями та навичками для виконання роботи і не залежать від людей, які не входять до складу команди. Модель Скрам Команди створена для того, щоб оптимізувати гнучкість, креативність та продуктивність роботи. Скрам Команда довела свою високу ефективність у всіх вищезазначених аспектах та у будь-якій складній роботі.

Скрам Команди створюють продукт інкрементально та ітераційно; це покращує зворотній зв'язок. Випуск Інкременту “готового” продукту забезпечує наявність потенційно придатної робочої версії продукту у будь-який момент часу.

Власник Продукту

Власник Продукту відповідає за досягнення максимальної якості продукту, який є результатом роботи Команди з Розробки. Способи, якими цього досягають, можуть відрізнятися залежно від організацій, Скрам Команд та окремих осіб. Лише Власник Продукту відповідає за Беклог Продукту (Product Backlog). Управління Беклогом Продукту передбачає наступне:

  • Чітко визначити елементи Беклогу Продукту. -Впорядкувати елементи Беклогу Продукту так, щоб максимально досягти поставлених цілей та завдань.
  • Оптимізувати ефективність роботи, яку виконує Команда з Розробки.
  • Забезпечити доступність, прозорість та розуміння Беклогу Продукту для усієї Скрам Команди, а також зазначити елементи, над якими Скрам Команда працюватиме найближчим часом.
  • Переконатись, що Команда з Розробки розуміє вимоги Беклогу Продукту на належному рівні.

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

Щоб Власник Продукту успішно виконував свої обов'язки, всі члени організації повинні поважати його рішення. Усі рішення Власника Продукту відображаються у вмісті та впорядкуванні Беклогу Продукту. Ніхто інший не може змусити Команду з Розробки працювати відповідно до інших вимог.

Команда з Розробки

Команда з Розробки складається з професіоналів, які розробляють потенційно придатний до випуску Інкремент “готового” продукту в кінці кожного Спринту. “Готовий” інкремент повинен бути готовий уже на час Ревю Спринту. Інкремент створюють тільки члени Команди з Розробки. Команда з Розробки є структурованою, а також організація уповноважує їх самостійно керувати своєю роботою. Ця синергія посилює продуктивність та ефективність роботи Команди з Розробки. Характерні риси Команди з Розробки:

  • Самоорганізованість. Ніхто, навіть Скрам Мастер, не може вказувати Команді з Розробки, як правильно перетворити Беклог Продукту на Інкремент функціональності, потенційно придатної для випуску.
  • Крос-функціональність. Команди з Розробки володіють усіма навичками, необхідними для розробки Інкременту продукту.
  • Згідно зі Скрамом, усі члени Команди з Розробки є рівними і не діляться на посади незалежно від роботи, яку вони виконують.
  • Згідно зі Скрамом, у Команді з Розробки немає ніяких підгруп, незалежно від залучення певних галузей таких, як тестування, архітектура, операції, чи бізнес-аналіз.
  • Деякі члени Команди з Розробки можуть володіти спеціалізованими знаннями у певних сферах, однак відповідальність за роботу в цілому несе уся Команда з Розробки.

Розмір Команди з Розробки

Оптимальний розмір Команди з Розробки повинен бути досить невеликим, щоб команда легко та просто співпрацювала; і водночас досить великим, щоб вона могла виконати значний об’єм роботи впродовж Спринту. Якщо в Команді з Розробки менше трьох осіб, тоді взаємодія зменшується, і як наслідок продуктивність знижується. Крім того, на певному етапі Спринту невелика команда може зіткнутись із нестачею необхідних знань та не зможе розробити потенційно готовий до випуску Інкремент продукту. Команди, в яких більше дев'яти осіб, потребують значних зусиль, щоб координувати роботу. З великими Командами з Розробки стає значно важче отримати користь від емпіричного процесу. Ролі Власника Продукту і Скрам Мастера не враховуються при підрахунку кількості членів Команди з Розробки, окрім випадків, коли вони виконують роботу з Беклогу Спринту.

Скрам Мастер

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

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

Обов'язки Скрам Мастера щодо Власника Продукту

Скрам Мастер тісно співпрацює з Власником Продукту:

  • Гарантує те, що Скрам Команда дійсно розуміє цілі, скоуп, та домен продукту.
  • Виявляє методи ефективного управління Беклогом Продукту.
  • Допомагає Скрам Команді зрозуміти необхідність чітких та лаконічних елементів Беклогу Продукту .
  • Допомагає зрозуміти планування продукту в емпіричному середовищі.
  • Пересвідчується, що Власник Продукту знає, як впорядкувати Беклог Продукту так, щоб оптимізувати ефективність роботи.
  • Розуміє та практикує гнучкі методи розробки та управління.
  • Допомагає на Скрам нарадах при необхідності.

Обов'язки Скрам Мастера щодо Команди з Розробки

Скрам Мастер активно допомагає Команді з Розробки:

  • Вчить Команду з Розробки бути самоорганізованою та крос-функціональною.
  • Допомагає Команді з Розробки створювати високоякісні продукти.
  • Усуває перешкоди, які виникають у роботі Команди з Розробки.
  • Допомагає на Скрам нарадах при необхідності.
  • Проводить необхідні тренінги для Скрам Команди, щоб повністю впровадити Скрам методологію.

Обов'язки Скрам Мастера щодо організації

Скрам Мастер також активно допомагає організації:

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

Події Скраму

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

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

Спринт

Основою Скраму є Спринт, що триває місяць або менше, в результаті якого створюють “готовий” та потенційно придатний до випуску Інкремент продукту. Тривалість Спринтів є однаковою протягом усього періоду розробки. Наступний Спринт починається відразу ж після закінчення попереднього. Спринт складається із Планування Спринту, Щоденних Скрамів, розробки, Ревю Спринту, та Ретроспективи Спринту.

Під час Спринту:

  • Не допускається внесення жодних змін, які би ставили під загрозу досягнення Цілі Спринту.
  • Вимоги до якості продукту залишаються незмінними.
  • Команда з Розробки може уточнити та повторно обговорити з Власником Продукту об’єм роботи у процесі розробки.

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

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

Скасування Спринту

Спринт можна скасувати завчасно, проте лише Власник Продукту може це зробити за власним рішенням або під впливом зацікавлених осіб, Команди з Розробки або ж Скрам Мастера.

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

При скасуванні Спринту переглядають всі “виконані” елементи Беклогу Продукту. Якщо частина роботи є потенційно готовою до випуску, тоді Власник Продукту її приймає. Усі невиконані вимоги оцінюють знову і повертають до Беклогу Продукту. Виконана над цими вимогами робота швидко знецінюється, тому її потрібно часто переглядати.

Скасування Спринту вимагає додаткових ресурсів, оскільки всі члени Команди при Плануванні Спринту перегруповуються, щоб приступити до нового Спринту. Скасування Спринту є доволі неприємним процесом для Команди; насправді скасовують Спринт дуже рідко.

Планування Спринту

Робота, яку будуть виконувати під час Спринту, планують на нараді з Планування Спринту. Скрам Команда спільно розробляє план.

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

Планування Спринту відповідає на такі питання:

  • Який Інкремент буде розроблено під час Спринту?
  • Як буде розроблено Інкремент?

Перше питання: Який Інкремент буде розроблено під час Спринту?

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

Вхідними даними для цієї наради є Беклог Продукту, останній розроблений Інкремент продукту, можливості Команди з Розробки та попередні показники її продуктивності. Кількість елементів із Беклогу Продукту, які Команда здатна виконати у Спринті, визначає саме Команда. Тільки Команда з Розробки може об’єктивно оцінити обсяг роботи, який вона зможе виконати в наступному Спринті.

Протягом Планування Спринту Скрам Команда також починає формувати Ціль Спринту. Ціль Спринту (Sprint Goal) — це мета, яку буде досягнуто під час Спринту завдяки реалізації Беклогу Спринту, і яка вказує Команді з Розробки, чому вона створює цей Інкремент.

Друге питання: Як буде розроблено Інкремент?

Коли визначено Ціль Спринту та вибрано елементи Беклогу Продукту для Спринту, Команда з Розробки вирішує, як протягом Спринту втілити кожну окрему функціональність у “готовий” Інкремент продукту. Елементи Беклогу Продукту, обрані для виконання під час Спринту, та план їх розробки називають Беклогом Спринту (Sprint Backlog).

Як правило, Команда з Розробки починає з планування роботи і системи, завдяки яким Беклог Спринту можна перетворити на працюючий Інкремент продукту. Робота може відрізнятись об’ємом та складністю. Проте зазвичай під час Планування Спринту Команда з Розробки планує такий обсяг роботи, який можна виконати за Спринт. До закінчення цієї наради роботу, заплановану Командою з Розробки на перші дні Спринту, розбивають на вимоги, які можна виконати за день або й менше. Команда з Розробки сама організовує роботу, плануючи поетапність виконання вимог із Беклогу Спринту як під час Планування Спринту, так і в разі потреби протягом усього Спринту.

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

У кінці Планування Спринту Команда з Розробки повинна пояснити Власнику Продукту і Скрам Мастеру, яким чином вона працюватиме як самоорганізована команда, щоб досягти Цілі Спринту і створити очікуваний Інкременту продукту.

Ціль Спринту

Ціль Спринту — це мета, яку можна досягти за Спринт, виконавши Беклог Спринту. Вона пояснює Команді з Розробки для чого створюється Інкремент. Ціль Спринту визначають під час Планування Спринту, і вона надає Команді з Розробки певної гнучкості у розробці функціональності під час Спринту. Вибрані елементи Беклогу Спринту становлять одну узгоджену функцію, яка може бути Ціллю Спринту. Також Ціллю Спринту може бути будь-яка інша зв’язна ланка, що допомагає Команді з Розробки працювати спільно, а не над окремими ініціативами.

Під час виконання завдань Команда з Розробки завжди орієнтується на Ціль Спринту. Для її досягнення команда розробляє певну функціональність та технологію. Якщо ж робота виявляється складнішою, ніж очікували, Команда з Розробки домовляється з Власником Продукту про зміну обсягу Беклогу Спринту для поточного Спринту.

Щоденний Скрам

Щоденний Скрам — це 15-хвилинна нарада для Команди з Розробки, яку проводять кожного дня Спринту. На цій нараді Команда з Розробки планує роботу на найближчі 24 години. Такий підхід оптимізує співпрацю та результативність команди за допомогою перевірки того, що було зроблено з часу проведення попереднього Щоденного Скраму та планування роботи на наступний Спринт. Ці наради проводять щодня в той самий час і в тому ж місці, щоб уникнути плутанини.

Члени Команди з Розробки використовують Щоденні Скрами для контролю за прогресом просування до Цілі Спринту, а також контролю за прогресом виконання роботи з Беклогу Спринту. Щоденні Скрами підвищують ймовірність того, що Команда з Розробки досягне Цілі Спринту. Щодня Команда з Розробки повинна зрозуміти, яким чином працювати разом як самоорганізована команда, щоб досягти поставленої Цілі Спринту і створити очікуваний Інкремент до кінця Спринту.

Команда з Розробки визначає структуру мітингу і може провести його по-різному, але при умові, що вона фокусується на досягненні Цілі Спринту. Деякі Команди використовують питання, інші – більше зосереджуються на обговореннях. Ось приклад питань та обговорень, які можна використати:

  • Що мені вдалось зробити вчора, щоб допомогти Команді досягнути Цілі Спринту?
  • Що я зроблю сьогодні, щоб допомогти Команді досягнути Цілі Спринту?
  • Чи бачу я які-небуть перешкоди, що заважають мені або

Команді досягти Цілі Спринту? Команда з Розробки або члени команди часто збираються відразу після Щоденного Скраму, щоб детально обговорити, пристосуватись до можливих змін, чи перепланувати роботу, що залишилася у Спринті.

Скрам Мастер відповідає за те, щоб Команда з Розробки не пропускала такі наради, однак відповідальною за проведення Щоденного Скраму є Команда з Розробки. Скрам Мастер вчить Команду з Розробки проводити Щоденні Скрами недовше 15 хвилин.

Щоденний Скрам – це внутрішня нарада Команди з Розробки. Якщо інші члени команди є також присутні, тоді Скрам Мастер слідкує за тим, щоб порядок наради не був порушений.

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

Ревю Спринту

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

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

Ревю Спринту передбачає наступне:

  • Учасниками наради є Скрам Команда та ключові зацікавлені сторони, запрошені Власником Продукту.
  • Власник Продукту пояснює, які елементи Беклогу Продукту є “виконаними”, а які ні.
  • Команда з Розробки обговорює, як пройшов Спринт, де виникли труднощі, та як вона з ними впоралася.
  • Команда з Розробки демонструє, що було зроблено і відповідає на запитання по Інкременту.
  • Власник Продукту обговорює стан Беклогу Продукту та при необхідності припускає можливу кінцеву дату проекту та дату випуску продукту, беручи до уваги швидкість просування роботи.
  • Команда спільно обдумує, що робити надалі. Таким чином поточнe Ревю Спринту стане основою для наступної наради з Планування Спринту.
  • Огляд того, як ринок чи потенційне використання продукту могли змінитись, та, що є найважливішим для виконання в майбутньому.
  • Огляд графіку, бюджету, потенційних можливостей і ринку на наступні очікувані релізи функціональності продукту.

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

Ретроспектива Спринту

Ретроспектива Спринту дає Скрам Команді можливість перевірити себе та створити план дій для покращення процесів та роботи вже в наступному Спринті.

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

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

  • Перевірити, наскільки успішно пройшов Спринт, беручи до уваги злагодженість роботи Команди, процеси та інструменти.
  • Визначити та впорядкувати основні елементи роботи, які пройшли успішно, і ті, які можна було виконати краще.
  • Розробити план впровадження покращень у процес роботи Скрам Команди.

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

До завершення Ретроспективи Спринту Скрам Команда повинна визначити шляхи покращення процесу роботи, які вона реалізує у наступному Спринті. Власне впровадження цих змін у наступному Спринті і є адаптацією Скрам Команди до перевірки. Хоча зміни можна внести у будь-який час, Ретроспектива Спринту є формальною можливістю зосередитись на перевірці та адаптації.

Артефакти Скраму

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

Беклог Продукту

Беклог Продукту — це впорядкований список усього, що повинен містити продукт; він є єдиним джерелом вимог до будь-яких змін у продукті. Власник Продукту відповідає за

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

Беклог Продукту містить всі властивості, функції, вимоги, вдосконалення та виправлення дефектів, тобто ті дані, які визначають зміни, і які потрібно зробити у наступних випусках продукту. Елементи Беклогу Продукту повинні мати короткий опис, порядковий номер, оцінку обсягів роботи та цінність. Елементи Беклогу Продукту часто містять описи тестів, які будуть доказом його цілковитої завершеності.

Коли продукт починають використовувати і є можливість отримати перші відгуки ринку, його Беклог стає більш повним та вичерпним. Вимоги до продукту постійно змінюються, тому Беклог Продукту — це живий артефакт. Зміни бізнес вимог, ринкових умов та технологій призводять до змін Беклогу Продукту.

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

Покращення Беклогу Продукту (Product Backlog refinement) — це додавання деталей, оцінка очікуваних затрат часу та впорядкування елементів. Це безперервний процес, під час якого Власник Продукту та Команда з Розробки деталізують вимоги Беклогу Продукту. Під час Покращення Беклогу Продукту елементи перевіряють. Скрам Команда вирішує, як і коли це буде зроблено. Цей процес, як правило, займає не більше 10% часу Команди з Розробки. Однак Власник Продукту в будь-який час може оновити вимоги Беклогу Продукту.

Вимоги з вищим пріоритетом зазвичай чіткіші та більш деталізовані, ніж ті, що з нижчим пріоритетом. Також легше робити точнішу оцінку об’єму роботи для вимог, які є зрозуміліші та містять більше додаткової інформації. Елементи Беклогу Продукту, над якими Команда з Розробки працюватиме у наступному Спринті, повинні бути деталізовані так, щоб будь-який елемент міг стати “виконаним” у рамках одного Спринту. Елементи Беклогу Продукту, які можуть бути “виконані” за один Спринт Команда з Розробки позначає “готовими” для вибору в Планування Спринту. Елементи Беклогу Продукту, зазвичай, стають більш зрозумілими завдяки описаним вище практикам з покращення Беклогу Продукту.

Команда з Розробки відповідає за оцінку обсягів роботи. Власник Продукту може допомогти Команді з Розробки зрозуміти вимоги та дійти компромісного рішення, проте кінцева оцінка залежить лише від команди.

Моніторинг прогресу на шляху до Цілей

У будь-який час можна підсумувати об’єм роботи, який потрібно виконати для досягнення Цілі. Власник Продукту відстежує об’єм роботи, який залишилось виконати, як мінімум, під час кожного Ревю Спринту. Власник Продукту порівнює поточний об’єм роботи з тим, який залишився з попереднього Ревю Спринту, щоб оцінити прогрес в роботі і те, чи встигає Команда досягти Цілі у запланований час. Ця інформація є доступною та відкритою для всіх зацікавлених осіб.

Для прогнозування прогресу роботи використовують різноманітні методи проектування тенденцій, як-от графіки типу “скільки залишилось” (burndown), “скільки зроблено” (burnup) та кумулятивні діаграми (cumulative flow). Ефективність цих практик доведено. Однак їх використання не змінює важливості використання принципів емпіризму. У складному середовищі дуже важко передбачити, як будуть розвиватися події. Єдине, на що можна покластися при прийнятті рішень щодо майбутньої роботи — це досвід минулого.

Беклог Спринту

Беклог Спринту — це набір елементів Беклогу Продукту, вибраних для виконання у поточному Спринті, план розробки Інкременту продукту та досягнення Цілі Спринту. Беклог Спринту — це прогноз Команди з Розробки щодо функціональності, яка стане частиною наступного Інкременту, а також роботи, яку необхідно виконати, щоб функціонал став “готовим” Інкрементом.

Беклог Спринту візуалізує ту роботу, виконання якої Команда з Розробки вважає необхідною для досягнення Цілі Спринту. Щоб забезпечити постійне вдосконалення, Беклог Спринту має містити хоча б однин найбільш пріорітетний напрямок, в якому буде рухатись команда, визначений на попередній Рестроспективі.

Беклог Спринту — це достатньо деталізований план, прогрес виконання якого можна побачити на Щоденному Скрамі. Команда з Розробки вносить зміни до Беклогу Спринту протягом усього Спринту, тому Беклог Спринту постійно змінюється. Такі зміни відбуваються тому, що в процесі роботи Команда з Розробки дізнається все нові й нові деталі про роботу, яку потрібно виконати для досягнення Цілі Спринту.

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

Моніторинг прогресу Спринту

У будь-який момент Спринту можна підсумувати обсяг роботи, який залишився в Беклозі. Команда з Розробки відстежує залишок роботи, як мінімум, під час кожного Щоденного Скраму, щоб спрогнозувати ймовірність досягнення Цілі Спринту. Завдяки відстеженню обсягу залишку роботи під час Спринту, Команда з Розробки може впливати на хід подій.

Інкремент

Інкремент — це сума всіх виконаних вимог Беклогу Продукту, реалізованих під час поточного Спринту та всіх попередніх Спринтів. По закінченню Спринту новий Інкремент повинен бути “готовим”, тобто придатним до експлуатації та відповідати визначенню поняття “готового” продукту Скрам Команди. Інкремент є готовою роботою, яку можна перевірити та до якої можна застосовувати емпіризм у кінці Спринту. Інкремент є кроком у баченні продукту або цілі. Незважаючи на рішення Власника Продукту випускати цей Інкремент чи ні, він повинен бути готовим до релізу.

Прозорість Артефакту

Основа Скраму — це прозорість. Рішення оптимізувати ефективність роботи і контролювати ризики приймають на основі отриманих артефактів. Власне від прозорості залежить правильність прийнятих рішень. Якщо артефакти є не цілком прозорі, такі рішення можуть бути не зовсім правильними, їх цінність зменшуватися, а ризики зростати.

Скрам Мастер повинен працювати з Власником Продукту, Командою з Розробки та іншими зацікавленими сторонами, щоб переконатись, що артефакти є повністю прозорі. Щоб артефакти були більш прозорими, можна застосувати такі практики:

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

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

Визначення “виконаної” роботи та “готового” Інкременту

Коли елемент Беклогу Продукту або ж Інкремент називають “готовим”, всі повинні розуміти, що означає “готовий”. Хоча це визначення може інтерпретуватися різними Скрам Командами по-різному, для забезпечення прозорості члени однієї Команди повинні мати однакове розуміння того, що означає те, що робота є виконаною. Саме таке єдине визначення поняття “виконаної” роботи використовує Скрам Команда для оцінки завершення робіт над Інкрементом продукту.

Одне і те ж визначення допомагає Команді з Розробки зрозуміти, скільки вимог із Беклогу Продукту обрати під час Планування Спринту. Метою кожного Спринту є розробка Інкременту потенційно придатної до випуску функціональності, що відповідає поточному визначенню поняття “готового” Інкременту Скрам Команди.

По закінченню кожного Спринту Команда з Розробки представляє Інкремент функціональності продукту. Такий Інкремент є придатним до використання, і тому Власник Продукту може вирішити одразу ж його випустити. Якщо визначення “готовий” для Інкременту є частиною домовленостей, стандартів або принципів організації розробки, всі Скрам Команди повинні, принаймні, дотримуватись його. Якщо визначення “готовий” для Інкременту не є загальнозрозумілим в організації розробки, Команда з Розробки зі Скрам Команди повинна надати відповідне визначення “готовий” для продукту. Якщо кілька Скрам Команд працюють над релізом системи або продукту, Команди з Розробки усіх Скрам Команд повинні спільно визначити це поняття.

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

З розвитком та вдосконаленням Скрам Команди, поняття “готового” продукту може розширятися та включати строгіші критерії для забезпечення кращої якості. Нові визначення, по мірі їх виникнення, можуть мати вплив на загальний продукт, виявляючи роботу, яку потрібно додатково виконати у попередньому “готовому” Інкременті. Для будь-якого продукту або системи, які розробляють, визначення “готовий” є обов’язковим, це є стандартом.

Кінцеві примітки

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

Подяка

Автори Скраму

Поміж тисяч осіб, які сприяли розвитку Скраму, ми повинні назвати тих, хто з початку існування Скраму вніс в його розробку найбільш значний вклад: Джефф Сазерленд (Jeff Sutherland) у співпраці із Джеффом МакКенною (Jeff McKenna) та з Джоном Скумньоталес (John Scumniotales), Кен Швабер (Ken Schwaber) у співпраці з Майком Смітом (Mike Smith) та Крісом Мартіном (Chris Martin). У подальші роки багато людей долучилося до розвитку Скраму; без їхньої допомоги Скрам не став би настільки досконалим.

Історія

Кен Швабер та Джефф Сазерленд працювали над Скрамом ще до 1995, після чого вони представили Скрам на конференції OOPSLA (Object-Oriented Programming Systems, Languages and Applications) в 1995 році. Їхня презентація — це фактично задукоментований досвід, який Кен та Джефф здобули за кілька попередніх років та оприлюднення першого офіційного визначення Скраму.

Історію Скраму задокументовано в іншому місці. Щоб відзначити компанії, у яких Скрам вперше використали та вдосконалили, слід згадати такі корпорації, як Individual, Inc., Newspage, Fidelity Investments та IDX (тепер більш відому під назвою GE Medical).

Посібник зі Скраму описує Скрам, який Джефф Сазерленд і Кен Швабер розробили, розвивали та підтримували понад двадцять років. З інших джерел Ви можете дізнатися більше про підходи, процеси, а також ідеї, які доповнюють Скрам. Вони можуть збільшити продуктивність, цінність, творчий підхід та задоволення результатом.

Переклад

Цей посібник перекладено з оригіналу англійською мовою, написаного Кеном Швабером та Джеффом Сазерлендом. Над українським перекладом працювали Андрій Івашків, Дмитро Бібіков, Ольга Мельничук, Христина Хома, Анастасія Пашко та Олена Юркевич.

©2017 Кен Швабер та Джефф Сазерленд. Ліцензія Creative Commons із зазначенням авторства та розповсюдженням на тих самих умовах: http://creativecommons.org/licenses/by-sa/4.0/legalcode, короткий огляд ліцензії: http://creativecommons.org/licenses/by-sa/4.0/. Використовуючи цей “Посібник зі Скраму”, Ви підтверджуєте те, що прочитали текст ліцензії та погоджуєтесь з її умовами.

Ми активні в соціальних мережах і хочемо спілкуватися. Додавайтеся на нашу сторінку в facebook та приєднуйтесь до наших спільнот.

З питань коучингу і корпоративних програм:
063 810-7225 Євген
093 497-4661 Катерина
hello@scrum.ua

З питань суспільних класів, реєстрацій, рахунків:
097 756-6757 Анастасія
backoffice@scrum.ua

За всіма номерами телефонів - голос, sms, viber, whatsapp.

©2017 - 2019 Scrum Ukraine. Всі права захищені.