Scrum: як працювати вдвічі менше, встигаючи вдвічі більше | Джефф Сазерленд

Автор: Джефф Сазерленд 

Вступ

Scrum з’явився близько двадцяти років тому як ефективний метод збільшення продуктивності розробки програмного забезпечення. Здобувши популярність у Силіконовій долині, Scrum швидко отримав визнання в інших галузях бізнесу. Його засновники Кен Швабер та Джефф Сазерленд вивчили передовий світовий досвід успішних компаній і дійшли висновку, що каскадна модель*, за якою раніше будувалася робота над IT-проектами, безнадійно застаріла. Вона не відповідала очікуванням клієнтів, оскільки робота просувалася повільно, суворо згідно з довготривалим планом, і часто на виході виходив не той продукт, який насправді був потрібен. Планомірне управління проектом зверху вниз створює ілюзію контролю та впевненості у процесі роботи, проте насправді результат непередбачуваний. Незважаючи на наявність кілограмів паперу з докладними планами, обґрунтуваннями, графіками та таблицями, терміни зриваються, бюджет перевищується, а працівники бувають розчаровані, відчуваючи марність своєї діяльності.

Термін «Scrum» запозичений із спортивної термінології. Це елемент регбі, виконання якого потребує ефективної взаємодії групи із восьми осіб. 

Важко повірити, але Scrum покращує продуктивність команд на 300-400%, а найкращі команди починають працювати у 8 разів ефективніше! Основна ідея даного методу, «Інспектуй та адаптуй», полягає в тому, що довгострокове планування марно, і не варто чекати на закінчення проекту для того, щоб оцінити продукт. Навпаки, потрібно регулярно перевіряти, чи потрібно людям те, що ви робите, і швидко перебудовуватись у разі потреби. В результаті багаторазово покращується продуктивність і знижуються витрати, а головне люди з радістю виконують свою роботу.

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

1. Основи Scrum

Ключові принципи методу:

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

Зрозуміти, що таке Scrum, можна, виконавши просту вправу.

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

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

Вправа включає три шестихвилинні цикли:

1 хвилина – планування. (Як робити літаки?)
3 хвилини – виготовлення літаків.
2 хвилини – обговорення. (Як покращити процес «авіабудування»?) 

Що виходило добре? Що погано? Як змінити дизайн? Як діяти швидше? Як покращити якість?)

Оцініть, як змінилися результати після трьох циклів (швидкість, якість).

1.1. Спринт

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

На початку роботи над проектом визначається тривалість спринтів (від англ. Sprint – забіг на коротку дистанцію), рівних відрізків часу (оптимально від 1 до 4 тижнів), з яких складається проект. Чим коротший спринт, тим динамічніший і гнучкіший процес розробки. Під час кожного спринту створюється продукт чи послуга, яку можна продемонструвати клієнту. «Частково зроблене» вважається незробленим! 

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

Кожен новий спринт планується заново за принципом «прай і повторюй». Зворотний зв’язок, отриманий від клієнта в режимі реального часу, допомагає визначити нові пріоритети та цінності та швидко виправити помилки. Іноді доводиться повністю змінювати напрямок діяльності, проте краще витратити 1–2 спринти, ніж отримати на виході продукт, який не буде затребуваний.

Американці приходили до Афганістану та Іраку з наміром допомогти налагодити мирне життя населення, але не питали, що саме потрібно людям. Вони витрачали мільйони доларів на будівництво птахофабрик, але не враховували той факт, що неписьменне населення не може працювати на складному обладнанні. Коли ж нарешті «благодійники» поцікавилися, чого хочуть місцеві жителі, то з’ясувалося, що їм потрібен лише міст через річку, щоб можна було швидко возити продукцію на ринок. Таким чином, те, що було цінністю (міст), коштувало кілька сотень доларів, а те, що не мало цінності (фабрика) — мільйони.

Перший спринт — найскладніший, і команда має вгадати, що саме потрібно клієнту. Проте, як тільки буде створено перший, «сирий» продукт, клієнти скажуть, що для них найважливіше. Не намагайтеся дати клієнту все й одразу, сфокусуйтеся на найціннішому, і ви значно заощадите сили, бюджет та час: згідно з принципом Парето, 80% цінності перебуває у 20% особливостей.

1.2. Команда

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

Що ж вирізняє успішні команди? Насамперед, усім їм властиві:

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

На думку Джефа Сазерленда, оптимальна кількість людей, які спільно працюють над проектом, — сім (+/–2). Якщо людей менше, швидше за все, будуть проблеми з міжфункціональністю, і рано чи пізно доведеться залучати фахівців із боку. 

Чим більша команда, тим більше комунікаційних каналів усередині неї. Кількість комунікаційних каналів дорівнює n*(n–1)/2, де n — кількість людей у ​​команді. У групі з п’яти осіб 10 комунікаційних каналів, із шести — 15, із семи — 21, із восьми — 28, із дев’яти — 36, а з десяти — 45. Таким чином, у великій команді складно встежити за тим, чим займаються всі колеги , і наради стають нескінченними, що негативно відбивається на швидкості та якості. 

У 1990-х Роберт Путнем провів масштабне дослідження щодо виявлення оптимального розміру команди. Він вивчав 491 команду, і дійшов дивовижного висновку: команди з 3-7 чоловік справлялися з тим самим обсягом роботи в 4 рази швидше, ніж команди з 9-20 осіб!

У 2001 році Нельсон Коен з Університету Міссурі виявив, що людина одночасно запам’ятовує не більше чотирьох знаків (раніше вважалося, що не більше семи). Він давав людям поглянути на набір букв fbicbsibmirs, і більшість учасників експерименту запам’ятовували не більше чотирьох букв. Тільки уважніші запам’ятовували всі літери, оскільки виявляли, що це набір відомих акронімів FBI, CBS, IBM та IRS.

1.3. Ролі у Scrum

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

– Контроль за дотриманням прозорості проекту;
– Організація робочих зустрічей і нарад;
– Виявлення перешкод у роботі (пошук відповіді на питання «Що найбільше заважає швидко і якісно працювати?»);
— забезпечення постійного поліпшення (пошук відповіді питання «Яким чином ми можемо працювати краще?»).

Як би добре не працювали команда та Scrum-майстер, потрібен хтось, хто здійснюватиме зв’язок між клієнтом та командою. Така людина називається Власником продукту, і вона створює беклог (п. 2.1), виходячи із потреб клієнтів. Той, хто претендує на роль власника продукту, має: 

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

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

— швидко приймати рішення, що ґрунтуються на отриманому зворотному зв’язку.

1.4. Наради

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

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

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

— Як ми можемо працювати краще в наступному спринті?
— Що нам заважало у цьому спринті? Що знижувало швидкість?

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

Щоденний stand-up – це коротка нарада (не більше 15 хвилин), яка проводиться в той же час. На цих зустрічах обговорюється поточний стан справ (чи всі завдання виконуються вчасно, чи потрібна допомога комусь із членів команди і хто може допомогти) і ставляться завдання на день (кожна людина виходить з наради, чітко знаючи, що вона робитиме протягом дня ).

1.5. Ризики

Scrum дозволяє значно знизити ймовірність невдачі, а саме:

— ринковий ризик: команда постійно отримує зворотний і знає, наскільки затребуваний продукт;
– технічний ризик: щоб зрозуміти, який саме продукт потрібен клієнту та які ресурси можуть знадобитися, слід створювати прототипи продукту;

У великому проекті зі створення «Розумного будинку» така деталь, як матеріал, з якого виготовлена ​​лінза вічка, здається незначною. Однак вносити зміни на стадії готовності дорого і довго, тому було ухвалено рішення замовити 3 види лінз: кришталеву, пластикову та скляну – і протестувати їх за допомогою комп’ютерної камери. Клієнт вибрав скляну лінзу як найбільш чітко передає зображення, морозостійку та стійку до зовнішніх впливів. 

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

1.6. Багатозадачність

Scrum не сприймає багатозадачності, незважаючи на те, що вона є невід’ємною частиною сучасної бізнес-культури.

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

Насправді багатозадачність — не позитивна риса, а елементарна нездатність сконцентруватися на чомусь одному. Джеральд Вайнберг наводить такі результати досліджень:

Таким чином, виконуючи 5 проектів одночасно, ви втрачаєте 75% часу!

Спробуйте виконати таку вправу:

Запишіть арабські цифри від 1 до 10, римські від I до X та літери від A до L:

— Спочатку так: 1 IA…
— Потім так: 123…, I II III…, ABC…

У автора виконання першої вправи зайняло 39 секунд, а другої – 19, тому що в першому випадку 3 завдання перемішані, а в другому – виконані послідовно.

2. Використання Scrum

Scrum стоїть на трьох китах: відкритість, командна робота та тісна співпраця з клієнтами.

2.1. Обладнання та документація

Все геніальне просто: Scrum не вимагає використання складної техніки, йому не потрібні дорогі CRM-системи; все, що потрібно – це папір, олівець або ручка, листочки, що самоклеяться, і дошка (як варіант, стіна).

Графік спринту та графік проекту – це інструменти, що демонструють щоденну зміну обсягу робіт та забезпечують відкритість виконання проекту. 

Беклог продукту є перелік робіт, після реалізації яких виходить кінцевий продукт. Перед складанням беклогу необхідно визначитися з баченням товару чи послуги з урахуванням вимог замовника чи ринку та уявлень членів команди про майбутній продукт, а потім вирішити, що потрібно зробити, щоб реалізувати це бачення. Довгострокове планування немає сенсу, оскільки після першого спринту бачення може змінитися на 100 % під впливом зворотний зв’язок. Після цього потрібно визначити пріоритети: у верхній частині беклогу слід помістити найцінніші та менш ризиковані відносини. 

Плануючи перший спринт, доцільно скласти список завдань (беклог спринту) «із запасом» — щонайменше на два спринти. Швидкість команди важко прогнозувати до початку роботи, і треба уникати ситуацій, коли членам команди нема чого робити. Беклог є колонками «буде зроблено», «робиться» і «зроблено», які заповнені самоклеючими листочками з історіями. Це допомагає відстежувати роботу колег: якщо якась історія застрягла в колонці «робиться», то треба допомогти.

Історія – це робоче завдання у певному контексті:

– Для кого це завдання;
– що потрібно;
– Мотивація – чому клієнту це важливо.

Історія має таку структуру: “Як X я хочу Y, щоб Z”.

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

2.2. Організація роботи

Ефективність роботи однієї й тієї команди над аналогічними проектами може значно відрізнятися. Немає поганих людей — є погані системи, які стимулюють погану поведінку та низьку продуктивність.

Одне із підприємств General Motors було збитковим. Керівництво не могло впоратися з огидною трудовою дисципліною, низькою продуктивністю та високим відсотком шлюбу. Коли було прийнято рішення створити на базі цього заводу спільне підприємство з Toyota, боси GM запропонували залишити колишніх менеджерів та найняти нових робітників. Японські колеги, навпаки, зуміли наполягти зміні керівництва. В результаті нові керівники швидко вивели підприємство з аутсайдерів у лідери, а колись погані робітники стали неймовірно ефективними та дисциплінованими.

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

2.3. Особливості роботи з клієнтами

Поряд із постійною взаємодією з клієнтами з метою отримання зворотного зв’язку, застосування Scrum передбачає особливий підхід до складання контрактів, у яких передбачено можливість змін. На перший погляд, це здається нереальним: будь-які зміни продукту коштують грошей, а зміни графіка загрожують затримками. Проте автор пропонує внести пункт «Зміни, які не підлягають сплаті» до стандартного контракту з фіксованою вартістю. У цьому пункті слід перерахувати очікуваний функціонал, визначивши рівень складності кожного пункту.

Ви повинні виготовити танк, який переміщається зі швидкістю 50 км/год, стріляє 10 разів на хвилину і в якому розміщуються чотири особи. Ви домовляєтеся із замовником про умовну вартість різних функцій та деталей: наприклад, двигун коштує 100 балів, механізм завантаження – 50 балів, 1 сидіння – 5 балів. Відповідно до контракту, можна вносити зміни, що не перевищують підсумкової вартості в балах, якщо ті чи інші деталі та функції зникнуть з беклогу або стануть менш пріоритетними.

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

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

Спринт триває 4 тижні, і протягом трьох спринтів компанії-виробнику вдається створити обладнання, яке повністю влаштовує замовника: більша частина функцій, запланованих спочатку, виявилася непотрібною, а частину з них вдалося замінити більш затребуваними, але менш трудомісткими. У перші 3 місяці клієнт переказав 500 000*3 = 1 500 000 доларів і повинен сплатити 20 %* (10 000 000 – 1 500 000) = 1 700 000 доларів за дострокове завершення проекту. У результаті замовник отримав продукт на 17 місяців раніше за 3200000 доларів замість 10 мільйонів. Виконавець заробив за 3 місяці 3200000 доларів замість 1500000 доларів і може приступити до виконання інших проектів.

3. Scrum та різні підходи, методики та інструменти

3.1. Scrum та Flow

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

Міхай Чіксентміхайі, який сформулював теорію потоку, виділив такі особливості діяльності, що супроводжують стан потоку:

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

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

3.2. Scrum та Ощадливе виробництво

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

Muri – втрати через нерозсудливість – співробітники та обладнання перевантажені.

Mura – втрати через неузгодженість – уривчастий графік робіт через коливання попиту.

Muda – втрати через результат (відходи, незатребувані матеріали, шлюб).

Scrum також бореться з усіма видами втрат: з Muri через грамотний розподіл пріоритетів, з Mura через однакову тривалість спринтів, а з Muda через формування бачення продукту з урахуванням потреб клієнта.

3.3. Scrum та Цикл PDCA

Цикл PDCA, створений американським фахівцем з управління якістю Едвардом Демінгом, розшифровується як Plan (Плануй) – Do (Делай) – Check (Перевіряй) – Act (Дій) і є циклічно повторюваним процесом прийняття рішень. На думку Демінга, не можна одного разу досягти потрібного результату та заспокоїтися: треба щось покращувати постійно. Цикл Демінга можна вважати розгорнутою версією основної ідеї Scrum «Інспектуй та адаптуй».

3.4. Scrum та Діаграма Венна

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

Висновок

Scrum – це ефективний спосіб організації роботи, що багаторазово підвищує продуктивність команд. Цей метод заснований на ідеї створення саме такого продукту, який потрібний клієнту, тому передбачає постійну зміну концепції та заперечує довгострокове планування.

Найбільш ефективні Scrum-команди складаються з 5-9 осіб і характеризуються міжфункціональністю, автономністю та впевненістю у власних силах. Ефективно працювати команді допомагають Scrum-майстер, який вирішує організаційні питання та слідкує за ходом роботи, та Власник продукту, який забезпечує зв’язок команди з клієнтом.

Методика Scrum пропонує проводити три види зустрічей: нарада щодо планування спринту, ретроспективна нарада за підсумками спринту та щоденні короткі зустрічі, які мають певну структуру та лімітовані за часом.

Scrum допомагає знизити технічний, фінансовий та ринковий ризики та виключає багатозадачність.

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

Оскільки Scrum виник у результаті вивчення досвіду передових світових компаній, він має багато спільного з іншими теоріями та методиками управління. Так, найкращі Scrum-команди досягають стану потоку; практикують ідеї скорочення втрат Muri, Mura та Muda, описані в «Бережливому виробництві»; основна ідея Scrum «Інспектуй та адаптуй» співзвучні циклу Демінга (Плануй – Роби – Перевіряй – Дій); а діаграма Венна допомагає команді зрозуміти, яке реальне бачення виробленого продукту.