Урок 4 з 5
Як скоротити графік
Що робити, якщо 13 тижнів — задовго, а реліз потрібен раніше? Наприклад, магазин застосунків пропонує показати гру в добірці «Нове», але лише якщо вона вийде на два тижні раніше.
Скорочувати є сенс лише роботи на критичному шляху: прискорення інших робіт строк проєкту не змінить. PMBOK описує два способи стиснення графіка:
- Додати ресурси (crashing). Наприклад, найняти на механіку другого програміста: вона займе 4 тижні замість 5, і гра вийде за 12 тижнів. Але це дорожче.
- Виконувати паралельно (fast tracking). Почати збирати рівні, не чекаючи, поки механіку повністю допишуть. Це швидше, але ризиковано: якщо механіка зміниться, частину рівнів доведеться переробляти.
Зверніть увагу: якщо скоротити механіку до 4 тижнів, критичним стає ще й шлях через дизайн. Тепер, щоб скоротити проєкт ще на тиждень, доведеться прискорювати обидва ланцюжки або спільну для них роботу.
Скільки коштує кожен тиждень
Щоб вирішити, що прискорювати, для кожної роботи рахують, скільки коштує скоротити її на один тиждень. Скорочують спершу найдешевшу роботу на критичному шляху, потім наступну, і так далі.
Але прискорення не лише додає витрат, а й заощаджує. Поки проєкт триває, студія щотижня платить за офіс, сервери й підписки — це непрямі витрати. Що коротший проєкт, то менше їх набігає. Тож загальні витрати спершу падають, а потім, коли прискорення стає надто дорогим, знову ростуть. Найвигідніша тривалість — там, де загальні витрати найменші.
Як рахувати вартість прискорення
Вартість скорочення роботи на одиницю часу (slope, нахил):
де і — вартість і тривалість роботи за звичайного темпу, а і — за прискореного.
Приклад: механіка за звичайного темпу — 5 тижнів і 60 тис. грн, з другим програмістом — 4 тижні і 75 тис. грн. Нахил = (75 − 60) / (5 − 4) = 15 тис. грн за тиждень. Якщо непрямі витрати студії — 10 тис. грн на тиждень, скорочення на тиждень обійдеться в 15 − 10 = 5 тис. грн. Чи варто це місця в добірці магазину — вирішує спонсор.
Паралельне виконання і ступені
Досі ми вважали, що наступна робота починається лише тоді, коли попередню виконано на 100%. Але життя гнучкіше. Щоб прокласти 100 метрів труби, не треба чекати, поки викопають усю траншею: досить перших 5–10 метрів, і можна паралельно класти трубу.
Так працює ступінчастий метод. Велику роботу ділять на частини (А1, А2, А3…), і наступна робота стартує, щойно готова перша частина. Роботи йдуть «сходинками», і проєкт стає коротшим. По суті, це паралельне виконання (fast tracking) у малому, і воно так само додає ризику: якщо в першій партії рівнів знайдуть системну помилку, переробляти доведеться й наступні.
У грі так само: тестувальнику не обов'язково чекати, поки зберуть усі 20 рівнів. Він може перевіряти їх партіями.
Ступінчастий метод
20 рівнів: зібрати, потім протестувати. Чи обов'язково чекати, поки зберуть усі?
На скільки партій розбити рівні
4 партії по 5 рівнів: разом 22,5 дня замість 30 днів.