Майстер-шеф: кухня проектного управління

PUBLISHED ON AUG 6, 2017 / 3 MIN READ

Уявіть себе шеф-поваром ресторану, яких спеціалізується на стравах української, грузинської та італійської кухні. Одного ранку вам потрібно приготувати страви для обіду на 20 персон. В меню традиційні українські страви: борщ з пампушками, вареники, на десерт - штрудель з вишнями. У вашій команді 2 повари та 1 кондитер. Один ваш повар бере велику каструлю, ніж для овочів та інше необхідне для приготування борщу і починає готувати. Інший повар займається ліпленням вареників із вже готового картопляного пюре з допомогою скалки та ложки. Кондитер замішує тісто та готує наповнювач для штруделя. Ви готуєте свою фірмову страву - пампушки з часником з секретним компонентом - в спеціальних формах, які були виготовлені на ваше замовлення.

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

Для страв італійської кухні лише частина цих інструментів знайде своє місце на робочому столі: замість скалки (використовувалась для вареників) буде машинка для равіолі, замість форм для пампушок будуть форми для сирних паличок, запрацюють печі для піци й так далі.

Якщо вам доведеться готувати страви грузинської кухні ви будете використовувати взагалі інший набір - казан, електрогриль та мангал на задньому дворі ресторану. Ваша кухня заповнена інструментами та по мірі замовлень з залу, в залежності від вибраних страв та їх кількості, ви будете використовувати різні інструменти: адже недаремно ви навчались в одній з найкращих кулінарних шкіл Європи.

Уявили? Тепер перенесемося на кухню управління ІТ проектами. Існує велика кількість методологій управління проектами таких як Waterfall, PRINCE2, Agile, Scrum, Lean, Kanban, ХР та інші менш відомі. Припустимо, що у вас є команда (чи, навіть, кілька команд) і є замовник з проектом. Ваша головна задача - правильно вибрати ті методології (використовуючи аналогії з кухнею - інструменти), які дозволять ефективно використовувати доступні для вас ресурси для досягнення цілей проекту. Тепер вам потрібно визначити “що?”, і головне “як?” ви будете готувати на вашій проектній кухні.

Перше і найголовніше питання - “що?”, тобто вам необхідно визначити тип проекту, розробкою якого ви будете керувати. Візьмімо для простоти найбільш загальний поділ:

  • Бізнес-системи. Це можуть бути веб-сайти, невеликі веб-сервіси, мобільні додатки, ігри, бухгалтерські системи, тощо. Для цього типу проектів чудово можуть підійти гнучкі методології такі як Scrum чи Kanban. В залежності від розміру команди та рівня формалізації вимог до проекту вони можуть бути дещо трансформовані конкретно під ваш проект. У вас будуть стендапи, спринти, у вас будуть еволюційне прототипування та поетапне делівері.
  • Системи цільового призначення. До цього типу відносяться вбудоване та пакетне ПЗ, веб-сервіси, складні ігри. Тут так само можна використовувати гнучкі методології, але оскільки цей тип проектів як правило більший як по об’єму задач так і ресурсів, а також має чітко визначені вимоги, то у вас з’являється прототипування та планування релізів, Scrum of Scrum для багатьох команд які працюють паралельно, stop scrum для процесу тестування та публікації релізу. Реліз в кінці спринта найчастіше стає лише внутрішнім релізом, а фінальний публічний реліз настає після кількох місяців розробки(через 10-20 спринтів). Scrum, Kanban, Lean тут добре підходять, але також буде потрібно використовувати стадії методології Watefall - прототипування, імплементація та тестування. Все разом це називається спіральна модель розробки ПЗ.
  • *Вбудовані системи від яких залежить життя людей. *Це як правило авіаційне ПЗ, ПЗ для медичних пристроїв, операційні системи. Тут також може добре працювати спіральна модель, але етапи прототипування та тестування помітно збільшуються. Велику роль для таких проектів починає відігравати контроль якості та документація проекту, що помітно ускладнює використання гнучких методологій, тому часто використовується традиційні методології управління проектами.

Кожна з методологій має свої особливості та варіації та в залежності від складності проекту вам буде потрібно використовувати методології по різному. Проте інструменти залишаються ті ж самі. Додамо до цього різне програмне забезпечення для автоматизації процесів управління проектом, розміри та кількість команд, зміни вимог до проекту (так-так, вони є завжди) від груп зацікавлених осіб і можна сміливо робити висновок, що двох однакових проектів не буває і кожен з них вимагає особливого підходу у використанні різного типу інструментів.

Повертаючись до нашої аналогії з кухнею, можна сказати, що управління проектами це така собі кухня, де кожен проект - це страва зі спецзамовленням і для її приготування потрібно використати конкретний набір інструментів, який знаходиться на вашій проектній кухні. Але проблема в тому, що ви не знаєте, що буде готувати і тому необхідно бути готовим до будь-якого замовлення. Тому не обмежуйте себе лише Scrum/Kanban. Навіть якщо одно разу вони вам допомогли - наступного разу краще буде використати Waterfall чи навпаки.

Поповнюйте свій проектний кухонний арсенал новими інструментами та підходами, формуйте свої власні варіації проектних методологій, діліться ними з колегами і керуйте проектами з задоволенням!