Невидимі залежності: як зберегти контроль над проєктом

Юлія Селютіна
Юлія Селютіна
Невидимі залежності: як зберегти контроль над проєктом

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

Чому залежності виходять з-під контролю

У реальності багато зв’язків між задачами не формалізовано. Вони живуть у головах людей, у переписках, у домовленостях і на словах. Через це команда бачить лише свою частину роботи, але не розуміє, як вона впливає на загальний процес. У результаті виникають затримки в проєкті, які складно пояснити на перший погляд. Невеликі проблеми накопичуються, і з часом це перетворюється на системний ризик. Саме так виникають ризики проєкту, які проявляються вже тоді, коли впливають на дедлайни.

Хаотичні та невидимі залежності між задачами, що створюють затримки та ризики в проєкті

Кейс: як геймдев-команда втрачала час через залежності — і як QPM допоміг це виправити

Одна з геймдев-команд, з якою ми працювали, довгий час не могла зрозуміти, чому постійно зриваються дедлайни. З боку все виглядало нормально: команда працює, задачі виконуються, планування проєктів відбувається регулярно. Але строки все одно зміщувалися.

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

В один із днів програміст мав почати інтеграцію анімацій, але аніматор ще обговорював деталі в Slack. Розробник почекав, потім переключився на іншу задачу. Коли повернувся, то витратив час на відновлення контексту. Здавалося б, дрібниця. Але таких ситуацій було багато. І саме вони поступово з’їдали темп всієї команди.

Що змінилося після впровадження QPM

Після переходу на QPM ключовою зміною стала прозорість процесів. Команда вперше побачила, як задачі пов’язані між собою насправді. Стало зрозуміло, що блокує роботу, що впливає на строки і де виникають вузькі місця. Якщо задача зависала у статусі Active довше, ніж очікувалося, це одразу привертало увагу усієї команди. І головне — було видно, чому саме це сталося. Наприклад, можна було відразу побачити, що інтеграція зупинилася не через розробника, а через відсутність асетів. Це дозволило не лише швидше реагувати, а й покращити контроль проєкту в цілому. Замість реакції на проблеми команда почала їх передбачати.

Підготовлена задача, де код, асети та звук об’єднуються в один процес без затримок

Scope Box: коли обсяг ітерації повністю визначений і готовий до виконання

Ще одна важлива зміна була пов’язана з тим, як задачі потрапляють у роботу. Раніше розробники часто отримували задачі, які були не до кінця готові — чогось завжди бракувало: асетів, звуку або опису логіки. Це призводило до постійних переривань і нестабільного темпу роботи. З QPM команда почала працювати в межах Scope Box. Суть підходу не лише в підготовленості задач, а й в тому, що ітерація формується навколо чітких бізнес-цілей, які мають бути повністю досягнуті. Scope Box визначає повний обсяг роботи, необхідний для реалізації цих цілей. У нього потрапляють лише ті задачі, які разом дають завершений результат. Це означає, що в кінці ітерації команда не просто «закриває задачі», а фактично досягає запланованої бізнес-цінності. Це звучить очевидно, але на практиці часто трапляється інше: ітерація завершена, задачі виконані, але сама ціль так і не реалізована. Коли ж обсяг роботи сформований навколо завершених результатів, процес стає безперервним і передбачуваним. Зникають постійні уточнення, переробки та зайві обговорення. У результаті команда працює в стабільному темпі, а різні частини роботи — код, асети, звук — сходяться в один завершений результат, а не розрізнені виконані задачі.

Ключова ідея тут проста: неможливо керувати тим, що не видно. Саме тому в QPM велика увага приділяється не просто задачам, а структурі взаємозв’язків між ними.

Team Monitoring дозволяє швидко зрозуміти, що відбувається в команді прямо зараз. Хто перевантажений, де виникають затримки, а де робота стоїть.

Relations Diagram відображає структуру процесу: які стріми існують, які ітерації в них входять, які обджективи визначені та які залежності між ними. Вона показує, як усе пов’язано між собою.

Gantt Diagram, у свою чергу, дає часову модель виконання в межах ітерацій. Вона показує, що саме розробляється, де виникають ризики та як задачі впливають одна на одну в часі. Саме тут стає видно критичний шлях: менеджер може визначити, яка навіть невелика задача — наприклад, погодження звуку — здатна заблокувати реліз фічі, оскільки вона знаходиться на критичному шляху і впливає на інші задачі.

У поєднанні це дає те, чого зазвичай не вистачає командам — цілісне розуміння процесу.

Інтерфейс Team Monitoring у QPM з відображенням задач, статусів і навантаження команди в реальному часі