Віха

Урок 2 з 5

Критичний шлях: коли вийде гра

Головна мета мережевого графіка — знайти критичний шлях. Це найдовший ланцюжок пов'язаних робіт від початку до кінця проєкту.

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

Такий спосіб розрахунку називають CPM (Critical Path Method, метод критичного шляху). Ви вже чули про нього в модулі 1: саме він колись допоміг скоротити багаторічні проєкти на роки.

Як рахувати: чотири кроки

  1. Прямий аналіз. Ідемо від початку до кінця, зліва направо. Перша робота стартує з нуля. Ранній фініш — це ранній старт плюс тривалість. Якщо робота чекає на кілька попередніх (злиття), вона стартує, коли закінчиться найпізніша з них.
  2. Зворотний аналіз. Ідемо від кінця до початку, справа наліво. Для останньої роботи пізній фініш дорівнює ранньому. Пізній старт — це пізній фініш мінус тривалість. Якщо після роботи йдуть кілька наступних (розбивка), її пізній фініш — найраніший із пізніх стартів наступних робіт.
  3. Резерви. Для кожної роботи віднімаємо від пізнього строку ранній.
  4. Критичний шлях. Роботи з резервом 0 утворюють критичний шлях.

Пройдіть ці кроки на нашій грі:

Рахуємо критичний шлях гри

Чотири кроки: від тривалостей до робіт, які не можна затримувати.

21. Концепція42. Дизайн53. Механіка34. Сервер35. Рівні26. Маркетинг27. Тестування18. Реліз

Почнімо з того, що знаємо: скільки тижнів займе кожна робота (t). Тепер порахуємо, коли кожну з них можна почати й закінчити.

EStEFРоботаLSRLF
t
тривалість у тижнях
ES, EF
ранній старт і ранній фініш (Early Start, Early Finish)
LS, LF
пізній старт і пізній фініш (Late Start, Late Finish)
R
резерв часу (Reserve)
Числа — номери тижнів від старту проєкту. На вузькому екрані схему можна гортати вбік.
Формули для допитливих

Що означають позначення:

  • tt — тривалість роботи (у нас — у тижнях).
  • ESES, EFEF — ранній старт і ранній фініш.
  • LSLS, LFLF — пізній старт і пізній фініш.
  • RR — резерв часу.

Прямий аналіз. Ранній фініш — ранній старт плюс тривалість:

EF=ES+tEF = ES + t

Якщо робота має кілька попередніх, її ранній старт — найбільший із їхніх ранніх фінішів:

ES=max⁡(EFпопередніх)ES = \max(EF_\text{попередніх})

Зворотний аналіз. Пізній старт — пізній фініш мінус тривалість:

LS=LF−tLS = LF - t

Якщо в роботи кілька наступних, її пізній фініш — найменший із їхніх пізніх стартів:

LF=min⁡(LSнаступних)LF = \min(LS_\text{наступних})

Резерв — різниця між пізнім і раннім строком:

R=LS−ES=LF−EFR = LS - ES = LF - EF

Приклад — дизайн: ES=2ES = 2, t=4t = 4, отже EF=6EF = 6. Після дизайну йдуть рівні (LS=7LS = 7) і маркетинг (LS=10LS = 10), тому LF=7LF = 7, LS=7−4=3LS = 7 - 4 = 3, а резерв R=3−2=1R = 3 - 2 = 1 тиждень.

Навіщо знати резерви

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

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

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

Що, як робота затримається?

Оберіть роботу і зсуньте її строк.

3 тижні

Резерв роботи «Дизайн персонажів і світу» — лише 1 тиждень, тож реліз зсунеться на 2 тижні: гра вийде через 15 тижнів замість 13.

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