Декарт у «Міркуванні про метод» сформулював чотири правила мислення. Друге з них звучить так: ділити кожну з розглянутих труднощів на стільки частин, скільки буде потрібно, щоб краще їх розвʼязати. Минуло майже чотири століття, а кращого способу боротися зі складністю людство так і не вигадало. Ми просто дали йому нові назви. В управлінні проєктами одна з них звучить як WBS, Work Breakdown Structure, ієрархічна структура робіт.
Звучить бюрократично, я розумію. Абревіатура з підручника, яку здають на іспиті й забувають. Але на практиці це один із найбільш недооцінених інструментів менеджера. І я хочу пояснити чому.
Мозок не вміє думати про велике
Людський мозок чудово дає раду невеликій кількості речей одночасно. Психологи сперечаються про точну цифру, але всі сходяться в тому, що вона невелика: кілька обʼєктів, а не десятки. Коли Ви намагаєтеся думати про проєкт «зробити інтернет-магазин» цілком, мозок бачить туманну хмару. Він не може її оцінити, не може розпланувати, не може зрозуміти, що там усередині. І починає або панікувати, або вдавати, що все зрозуміло.
Обидва варіанти погані. Паніка паралізує. Хибна впевненість призводить до оцінки «місяці за три зробимо», яка потім перетворюється на рік. Вихід один: розрізати хмару на шматки, які вміщуються в голову. Це і є декомпозиція.
Як влаштована WBS
WBS це дерево. На вершині весь проєкт. На наступному рівні його великі частини. Кожна частина ділиться на дрібніші, і так доти, доки на нижньому рівні не опиняться пакети робіт, які можна зрозуміло оцінити, призначити конкретній людині й перевірити, чи зроблено їх.
Візьмімо той самий інтернет-магазин. Перший рівень: каталог, кошик і оформлення замовлення, оплата, особистий кабінет, адмінка, інтеграції, інфраструктура, запуск. Каталог ділиться на структуру категорій, картку товару, пошук, фільтри, імпорт товарів. Імпорт товарів ділиться на формат файлу, завантаження, обробку помилок, оновлення цін. І ось на цьому рівні вже можна сказати: «завантаження й обробка помилок імпорту займе три дні».
Є кілька правил, які відрізняють корисну WBS від формальної.
- Правило ста відсотків. Сума дочірніх елементів дорівнює батьківському. Не більше й не менше. Якщо чогось немає в дереві, цього немає в проєкті, і на це не закладено ні часу, ні грошей.
- Декомпозиція результатів, а не дій. Вузли дерева це те, що має вийти, а не те, що треба робити. «Форма оплати, яка приймає картки» замість «працювати над оплатою».
- Розумна глибина. Пакет робіт має займати від дня до кількох тижнів. Дрібніше, і Ви потонете в мікроменеджменті. Більше, і знову отримаєте хмару, яку неможливо оцінити.
Головна цінність: знайти забуте
Найцінніше, що дає WBS, це не гарна схема, а мить, коли під час її складання хтось каже: «Зачекайте, а хто переноситиме дані зі старої системи?» Або: «А навчання працівників клієнта взагалі є в проєкті?» Або: «А де в нас тестування на реальному навантаженні?»
У кожному проєкті є невидима робота, про яку ніхто не думає, доки не настає час її робити. Перенесення даних, налаштування серверів, документація, навчання користувачів, виправлення того, що знайдуть на прийманні. Саме ця робота зʼїдає терміни, бо її не було в плані. WBS витягує її на світло ще до того, як названо термін і підписано договір.
Проєкт майже ніколи не зривається через те, що було в плані. Він зривається через те, чого в плані не було.
Що ще дає декомпозиція
Коли проєкт розкладено на зрозумілі шматки, на них можна повісити все інше. Оцінки: підсумовувати маленькі оцінки точніше, ніж вгадувати одну велику. Відповідальність: кожен пакет має конкретного власника, і не буває ситуації «я думав, це робить він». Ризики: видно, які пакети залежать від зовнішніх чинників, від клієнта, від сторонніх сервісів. Контроль: поступ вимірюється закритими пакетами, а не відчуттям «ми десь на сімдесяти відсотках».
Є й приємний побічний ефект: клієнтові стає зрозуміло, за що він платить. Замість одного рядка «розробка магазину» він бачить структуру і може сам вирішити, що з неї прибрати, якщо бюджет не сходиться.
Фрактальність світу
Мені ця тема особливо близька, бо наш генератор називається Fractal не випадково. Фрактал це структура, в якій кожна частина схожа на ціле. Добра декомпозиція системи влаштована так само: проєкт складається з модулів, модулі з екранів і сутностей, екрани з полів і дій, і на кожному рівні діють ті самі правила. Коли ми описуємо систему мовами Fractal, ми по суті будуємо її WBS у машинозчитуваному вигляді, і генератор перетворює листя цього дерева на робочий код.
Що зробити завтра
Візьміть проєкт, який здається Вам великим і туманним. Візьміть аркуш паперу чи дошку й намалюйте дерево: проєкт угорі, пʼять-вісім великих частин під ним. Потім розбийте кожну частину ще на рівень. Не прагніть ідеалу, прагніть нічого не забути. Покажіть це дерево команді й спитайте: чого тут бракує? Майже напевно Ви почуєте кілька пунктів, про які ніхто не подумав. Кожен із них це зірваний дедлайн, який Ви щойно відвернули.