Віха

Урок 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 Play1 тиждень6, 7

Основні поняття

  • Робота (операція, діяльність) — частина проєкту, яка потребує часу. Наприклад, «дизайн — 4 тижні».
  • Подія — момент початку або закінчення роботи. Вона не займає часу, її тривалість дорівнює нулю. Наприклад, «концепцію затверджено».
  • Злиття (merge) — робота, якій безпосередньо передують дві чи більше інших робіт. Вона не почнеться, поки не завершаться всі попередні.
  • Розбивка (burst) — робота, після якої починаються одразу кілька наступних.
  • Паралельні роботи — роботи, які йдуть одночасно і не залежать одна від одної.

Мережевий графік гри

Вісім робіт від концепції до релізу: кожна — блок, кожна залежність — стрілка.

1Концепція2 тиж.2Дизайн4 тиж.3Механіка5 тиж.4Сервер3 тиж.5Рівні3 тиж.6Маркетинг2 тиж.7Тестування2 тиж.8Реліз1 тиж.

Натисніть кнопку вище, щоб побачити на схемі злиття, розбивку чи паралельні роботи.

Номер роботи стоїть у лівому куті блоку, тривалість у тижнях — унизу. На вузькому екрані схему можна гортати вбік.

П'ять правил мережевого графіка

  1. Стрілки йдуть строго зліва направо.
  2. У кожної роботи свій унікальний номер (чи буква), і в наступних робіт він більший, ніж у попередніх.
  3. Цикли заборонені: не можна повернутися від наступної роботи до попередньої.
  4. Умовні переходи заборонені: на графіку лише ті роботи, які точно буде виконано.
  5. Один старт і один фініш. Якщо проєкт починається чи закінчується кількома паралельними роботами, додають фіктивні роботи «Старт» і «Фініш» тривалістю 0.

Наш графік гри відповідає всім п'яти: він має одну першу роботу (концепція) і одну останню (реліз), тож фіктивні роботи не потрібні.

П'ять правил мережевого графіка

Що можна і чого не можна на схемі.

  1. 1. Зліва направо

    Так правильно

    Стрілки йдуть лише в один бік — від початку проєкту до кінця.

  2. 2. Унікальні номери

    Так правильно

    У кожної роботи свій номер, і в наступних він більший, ніж у попередніх.

  3. 3. Без циклів

    Так не можна

    Не можна повернутися від наступної роботи до попередньої.

  4. 4. Без умовних переходів

    Так не можна

    «Якщо… то…» на графіку немає: лише роботи, які точно буде виконано.

  5. 5. Один старт і один фініш

    Так правильно

    Якщо проєкт починається кількома роботами, додаємо фіктивну роботу «Старт» тривалістю 0. Так само з фінішем.

Чотири види залежностей і лаги

Між роботами часто бувають технологічні паузи. Після заливки фундаменту стіни не почнеш будувати одразу: бетон має висохнути. В IT схоже: подали гру в App Store, і кілька днів магазин її перевіряє. Такі паузи називають часовими затримками, або лагами. Їх чотири види:

  1. Кінець — початок (Finish-to-Start, FS). Робота Б починається через X днів після кінця роботи А. Класична технологічна пауза: висихання бетону чи перевірка гри магазином.
  2. Початок — кінець (Start-to-Finish, SF). Робота Б не може закінчитися раніше, ніж через Y днів після початку роботи А. Трапляється рідко. Приклад: старий сервер вимикають не раніше, ніж через день після запуску нового. Для розрахунку часто доводиться вводити фіктивні роботи.
  3. Початок — початок (Start-to-Start, SS). Робота Б не може початися раніше, ніж через Z днів після початку роботи А. Так задають паралельні роботи зі зсувом старту.
  4. Кінець — кінець (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 — робота на стрілці

коло — подія (віха), стрілка — робота

ДизайнМеханікафіктивна, 0Рівні122а3
В AOA дві паралельні роботи між тими самими подіями отримали б однакове позначення (1–2). Щоб їх розрізнити, додають фіктивну роботу тривалістю 0 (пунктир) і ще одну подію.

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