Хочу розповісти вам про «Команду WIKISPEED» – групу, засновану людиною із чудовим прізвищем Джо Джастіс (це прізвище означає «справедливість»). Вони виготовляють машини. Автівки, які витрачають літр пального на 40 км, майже не забруднюють повітря, мають п’ять зірочок за рейтингом безпеки, розганяються до 225 км/год і коштують дешевше за Camry. При цьому WIKISPEED постійно покращує свої транспортні засоби. Якщо ви хочете купити один із них, сплатіть двадцять п’ять штук через сайт wikispeed.com, і вам приженуть автівку протягом трьох місяців. І для цього вони використовують Scrum. Подібно до багатьох найкращих команд у наш час, вони працюють за принципом однотижневих спринтів. Щочетверга вони сідають усі разом і проглядають так званий беклог спринту – перелік завдань, які потрібно виконати, від розроблення дизайну нової панелі приладів до тестування сигналів повороту. Вони розставляють у цьому переліку пріоритети, а потім кажуть: «Гаразд, з огляду на цей перелік, скільки речей ми можемо зробити цього тижня?» І під «зробити» вони мають на увазі «завершити» – повністю. Ці нові функції працюють. Автівки їздять. Кожного тижня. Кожного спринту.
Зазирнувши до лігва «Команди WIKISPEED» на півночі Сіетла в один зі звичайних четвергів, можна побачити те, що зветься «організований хаос» – його і являє собою автомайстерня. Скрізь валяються інструменти, болгарки, електронне начиння, кріплення та гайкові ключі. ЧПУ-роутер у кутку третього боксу поряд із напівзібраною рамою автомобіля. Верстати для свердління та гнуття металу сидять поруч, наче цуценята, які прагнуть, щоб з ними погрались. У день, коли ми там були, над рамою висіло фото людини, яка купувала ту автівку, – Тіма Маєра. Він любить лазити по горах, чипси та сидр. Він не любить не знати, що відбувається, або не мати варіантів. У вихідні шукайте його за містом, а ввечері кожного понеділка – на танцях у таверні «Трактор».
Спереду, в першому боксі, стоїть перша машина, зібрана «Командою WIKISPEED», – автівка, що брала участь у змаганнях із призовим фондом у десять мільйонів доларів для машин з найменшою витратою пального на 100 миль. Вона тоді ввійшла в першу десятку, залишивши позаду понад сто конкурентів з великих автомобільних компаній та університетів. У результаті її запросили на Детройтський автосалон-2011 і виставили в першому ряду між «Шевроле» і «Фордом». Сьогодні ця автівка слугує команді стендом для випробування нових ідей.
Біля неї встановлено майже чотириметрову лекційну дошку, що тягнеться на всю ширину майстерні. На ній ви знайдете десятки й десятки стікерів – одного з основних атрибутів Scrum. На кожному із цих яскравих кольорових клейких папірців записано якесь завдання, що має бути виконане: «просвердлити трубу для модульної рейки керма», «підготувати модель інтер’єру», «встановити внутрішню обшивку крила для захисту від бризок із шин» тощо.
Дошка ділиться на кілька колонок: «Беклог», «Виконується», «Виконано». Кожного спринту члени «Команди WIKISPEED» ліплять у колонку «Беклог» стільки стікерів, скільки, на їхню думку, можна виконати цього тижня. Протягом тижня один із членів команди береться за те чи інше завдання і переліплює стікер до колонки «Виконується». Коли ж робота закінчується, стікер переходить у розділ «Виконано». Кожен член команди може бачити, над чим працюють усі інші його колеги в кожний конкретний момент часу.
Важлива річ: ніщо не переходить у розділ «Виконано», доки не буде повністю готовим для використання клієнтом. Іншими словами, майбутній господар може проконтролювати процес виготовлення машини між спринтами, побачивши, що було зроблено з минулого разу. І якщо під час тест-драйву він скаже: «Агов, сигнали повороту працюють із затримкою», – цю проблему буде розв’язано в наступному спринті.
Спринти ще часто називають «часовими проміжками». Вони мають визначену тривалість. Не можна робити однотижневий спринт, а потім тритижневий. Слід бути послідовним. Потрібно встановлювати такий ритм роботи, де люди знатимуть, скільки вони зможуть виконати в заданий період часу. Доволі часто цей обсяг стає сюрпризом для них самих.
При цьому одним із надзвичайно важливих елементів спринту є те, що, як тільки команда береться за виконання роботи, завдання блокуються. Ніхто за межами команди не може вже нічого додати до переліку. На причинах цього я детальніше зупинюсь нижче, але зараз вам досить запам’ятати, що втручання та відволікання значно зменшують швидкість роботи команди.
Як я вже згадував, у першому Scrum ми використовували чотиритижневі спринти. Десь під кінець першого спринту ми відчули, що просуваємось недостатньо швидко і можемо робити більше. Тоді ми якраз дивилися відео, як All Blacks виконують хаку, а потім проривають оборону супротивника. «Чому ми не такі? – питали ми себе. – Чому не маємо такого бойового духу?» Ми вирішили поставити собі за мету стати не просто доброю командою, а найкращою. Як це можна було зробити? І знову відповідь полягала в простій речі, яку ми поцупили в когось іншого, – щоденних зустрічах.
Щоденні стендапи
На виїзді з одного міста, яке я не можу назвати, в компанії, яку я не повинен згадувати, кожного дня збирається група людей, обговорюючи, як відправити інших людей у космос. Оскільки космічні кораблі, по суті, є міжконтинентальними балістичними ракетами з людським зарядом, інформація про це приватне підприємство космічних подорожей пов’язана з дотриманням певного рівня безпеки й таємності. Крім того, це бізнес, а не просто примха ексцентричного мільярдера. Поки я пишу ці рядки, чергова приватна ракета якраз стикується з Міжнародною космічною станцією, причому вже вдруге. Навіть уряд США не має таких можливостей на даний момент.
Але в цій конкретній будівлі цього конкретного дня ці конкретні люди б’ються над питанням, якого розміру має бути блок бортової радіоелектроніки ракети. Це обладнання повідомляє ракеті, куди вона летить і як туди дістатись. Вважайте його мозком космічного корабля.
Маємо дві команди по сім людей: одна займається апаратним, а друга – програмним забезпеченням. Кожного дня одна і друга команди збираються перед великою лекційною дошкою заввишки від підлоги до стелі та завдовжки в усю стіну. Точно як у «Команди WIKISPEED», цю дошку розкреслено на кілька колонок: «Беклог», «Виконується», «Виконано». У колонках перелічуються лише ті завдання, які команді потрібно виконати в конкретному спринті. Завдання варіюються від роботи з одним із кількох постачальників спеціальних мікросхем до визначення взаємодії акселерометра з рештою корабля. Scrum-майстер – особа, яка відповідає за процес, – ставить кожному членові команди три запитання:
1. Що ви робили вчора, щоб допомогти команді завершити спринт?
2. Що ви робитимете сьогодні, щоб допомогти команді завершити спринт?
3. Які перешкоди стоять на шляху команди?
І все. На цьому зустріч закінчується. Якщо вона займає більш ніж п’ятнадцять хвилин, то ви робите щось не так. І вона допомагає всім членам команди чітко розуміти перебіг спринту та стадії розв’язання його завдань. Чи будуть усі завдання виконані вчасно? Чи є можливості допомогти іншим членам команди в подоланні перешкод? Завдання не розподіляються згори – команда автономна. Її члени роблять усе самі. Немає детального звітування перед керівництвом. Будь-хто з керівництва або іншої команди може зайти подивитись на дошку команди авіоніки й чітко зрозуміти, на якій стадії все перебуває.
Отже, коли перша Scrum-команда прагнула визначити, як їм стати схожими на All Blacks, вони звернулися до літератури, щоб пошукати причини успіху найкращих команд. У розробці програмного забезпечення добре те, що через надзвичайно погану ситуацію на самому початку та марнування мільярдів доларів щороку люди витрачали чимало часу на вивчення причин, а тому дані були про все.
Одним із тих, хто витратив роки на вивчення ситуації з програмним забезпеченням, був Джим Копліен із легендарного дослідницького центру Bell Labs компанії AT&T. Копліен багато років вивчав сотні проектів програмного забезпечення, намагаючись визначити, чому так мало з них виконуються добре, а більшість закінчується катастрофою. На початку 1990-х його запросили для вивчення проекту корпорації Borland Software з розробки нового редактора електронних таблиць під назвою Quattro Pro для Windows. Для проекту вже було прописано мільйон рядків програмного коду. На це пішов тридцять один місяць роботи восьми людей. Це означає, що кожен член команди писав тисячу рядків коду на тиждень. То було швидше за всі інші команди серед його записів, і Джим хотів знати, як їм це вдавалося.