Урок 1 з 5
Залежності й мережевий графік
Перелік робіт (WBS) складено в модулі 7. Тепер постає питання: у якому порядку їх виконувати і коли вийде гра? Це домен «Розклад».
Почнімо з порядку. Не можна зводити дах будинку, поки не залито фундамент. У грі так само: рівні не зібрати, поки немає ні персонажів, ні ігрової механіки.
Щоб побачити такі зв'язки, будують мережевий графік (мережеву модель). Найчастіше використовують метод AON (Activity on Node, «Робота у вузлі»; у PMBOK його називають методом діаграм передування): кожна робота — прямокутний блок (вузол), а стрілки показують, яка робота після якої.
Ось роботи, які студія виписала з WBS для гри, і їхні зв'язки.
Роботи гри
Що робити, скільки це триває і після чого можна починати.
| № | Робота | Тривалість | Після робіт |
|---|---|---|---|
| 1 | Концепція гри | 2 тижні | — |
| 2 | Дизайн персонажів і світу | 4 тижні | 1 |
| 3 | Ігрова механіка (код) | 5 тижнів | 1 |
| 4 | Сервер і таблиця рекордів | 3 тижні | 1 |
| 5 | Збирання 20 рівнів | 3 тижні | 2, 3 |
| 6 | Сторінка гри в магазині застосунків | 2 тижні | 2 |
| 7 | Тестування на телефонах | 2 тижні | 4, 5 |
| 8 | Реліз в App Store і Google Play | 1 тиждень | 6, 7 |
Основні поняття
- Робота (операція, діяльність) — частина проєкту, яка потребує часу. Наприклад, «дизайн — 4 тижні».
- Подія — момент початку або закінчення роботи. Вона не займає часу, її тривалість дорівнює нулю. Наприклад, «концепцію затверджено».
- Злиття (merge) — робота, якій безпосередньо передують дві чи більше інших робіт. Вона не почнеться, поки не завершаться всі попередні.
- Розбивка (burst) — робота, після якої починаються одразу кілька наступних.
- Паралельні роботи — роботи, які йдуть одночасно і не залежать одна від одної.
Мережевий графік гри
Вісім робіт від концепції до релізу: кожна — блок, кожна залежність — стрілка.
Натисніть кнопку вище, щоб побачити на схемі злиття, розбивку чи паралельні роботи.
П'ять правил мережевого графіка
- Стрілки йдуть строго зліва направо.
- У кожної роботи свій унікальний номер (чи буква), і в наступних робіт він більший, ніж у попередніх.
- Цикли заборонені: не можна повернутися від наступної роботи до попередньої.
- Умовні переходи заборонені: на графіку лише ті роботи, які точно буде виконано.
- Один старт і один фініш. Якщо проєкт починається чи закінчується кількома паралельними роботами, додають фіктивні роботи «Старт» і «Фініш» тривалістю 0.
Наш графік гри відповідає всім п'яти: він має одну першу роботу (концепція) і одну останню (реліз), тож фіктивні роботи не потрібні.
П'ять правил мережевого графіка
Що можна і чого не можна на схемі.
1. Зліва направо
Так правильно
Стрілки йдуть лише в один бік — від початку проєкту до кінця.
2. Унікальні номери
Так правильно
У кожної роботи свій номер, і в наступних він більший, ніж у попередніх.
3. Без циклів
Так не можна
Не можна повернутися від наступної роботи до попередньої.
4. Без умовних переходів
Так не можна
«Якщо… то…» на графіку немає: лише роботи, які точно буде виконано.
5. Один старт і один фініш
Так правильно
Якщо проєкт починається кількома роботами, додаємо фіктивну роботу «Старт» тривалістю 0. Так само з фінішем.
Чотири види залежностей і лаги
Між роботами часто бувають технологічні паузи. Після заливки фундаменту стіни не почнеш будувати одразу: бетон має висохнути. В IT схоже: подали гру в App Store, і кілька днів магазин її перевіряє. Такі паузи називають часовими затримками, або лагами. Їх чотири види:
- Кінець — початок (Finish-to-Start, FS). Робота Б починається через X днів після кінця роботи А. Класична технологічна пауза: висихання бетону чи перевірка гри магазином.
- Початок — кінець (Start-to-Finish, SF). Робота Б не може закінчитися раніше, ніж через Y днів після початку роботи А. Трапляється рідко. Приклад: старий сервер вимикають не раніше, ніж через день після запуску нового. Для розрахунку часто доводиться вводити фіктивні роботи.
- Початок — початок (Start-to-Start, SS). Робота Б не може початися раніше, ніж через Z днів після початку роботи А. Так задають паралельні роботи зі зсувом старту.
- Кінець — кінець (Finish-to-Finish, FF). Робота Б не може закінчитися раніше, ніж через W днів після кінця роботи А.
Затримка буває і від'ємною — тоді її називають випередженням (lead): наступна робота стартує ще до кінця попередньої. Наприклад, тестування починається за 2 дні до кінця збирання рівнів. Ступінчастий метод — по суті серія таких випереджень. У PMBOK схожий прийом називають паралельним виконанням (fast tracking), і він завжди додає ризику переробок.
З лагами звична формула «ранній старт + тривалість = ранній фініш» працює вже не так прямолінійно: затримки можуть відсувати і початок, і кінець робіт, а критичний шлях стає складнішим.
Чотири види затримок (лагів)
Затримка прив'язує початок чи кінець однієї роботи до початку чи кінця іншої.
FS — Кінець — початок
Б починається через 2 дні після кінця А
А: Підготувати й подати гру, дні 0–3. Б: Реліз, дні 5–7.
SF — Початок — кінець
Б не закінчується раніше ніж через 1 день після початку А
А: Новий сервер працює, дні 5–10. Б: Старий сервер працює, дні 0–6.
SS — Початок — початок
Б починається не раніше ніж через 2 дні після початку А
А: Ігрова механіка, дні 0–7. Б: Дизайн рівнів, дні 2–8.
FF — Кінець — кінець
Б закінчується не раніше ніж через 2 дні після кінця А
А: Збирання рівнів, дні 0–6. Б: Тестування, дні 2–8.
А як щодо AOA?
Вище ми будували графік методом AON (Activity on Node, «робота у вузлі»): роботи — у блоках, стрілки — зв'язки. Є й інший метод — AOA (Activity on Arrow, «робота на стрілці»). У ньому вузли — це події (віхи) проєкту, наприклад «механіку готово», а стрілки — самі роботи.
Головна проблема AOA: дві паралельні роботи між тими самими двома подіями отримують однакове позначення. Щоб їх розрізнити, доводиться вводити фіктивні роботи (стрілки з нульовою тривалістю) і додаткові події.
В AON такої проблеми немає. Тому він гнучкіший і саме його використовує більшість сучасних програм для планування. Сучасні видання PMBOK описують лише AON (метод діаграм передування), а AOA лишився в історії й старих підручниках.
AON проти AOA
Ті самі три роботи: дизайн і механіка паралельно, потім рівні.
AON — робота у вузлі
блок — робота, стрілка — залежність
AOA — робота на стрілці
коло — подія (віха), стрілка — робота
Схема показує порядок робіт, але ще не каже, коли вийде гра. Це порахуємо в наступному уроці.