Що повинен вміти PM і як розвиватися на рівнях junior, middle, senior

Мене звати Дмитро Растатурин, я працюю в компанії Daxx NL і відповідаю за операційний менеджмент в Pindrop NL (компанія-клієнт). Наші end-customers — це Європа, основний ринок — Нідерланди, а також Франція, Бенілюкс і UK.

Ця стаття в першу чергу написана для початківців фахівців/менеджерів середнього рівня. Хоча я припускаю, що і більш досвідчені колеги зможуть знайти щось цікаве та корисне для себе. Стаття допоможе вам зрозуміти, які аспекти спеціальності необхідно вивчати, з чого починати і що робити для подальшого зростання в управлінні проектами (і/або суміжній позиції в ІТ-сфері).

Мова піде про проекти середнього рівня (тобто суворий ентерпрайз зі складною архітектурою і односторінкові сайти виключаємо). Приклад одного з проектів — SaaS-платформа для автоматизації івент-менеджменту у великого вендора в декількох локаціях.

Компоненти ролі PM

Сфера менеджменту в ІТ охоплює досить багато суміжних областей, тому необхідно враховувати, що в різних компаніях набір обов'язків може (а, вірніше, буде завжди) відрізнятися. У цій статті я пишу про них з точки зору project management (концентрація на проекті), а також delivery/operations management ми управляємо якоюсь кількістю проектів, розподіленими командами, тобто концентрація на процесах).

Можна виділити такі головні компоненти ролі PM-а:

  1. Основи архітектури. Управління релізами.
  2. Планування.
  3. Комунікація.
  4. People Management.
  5. Володіння інструментами.
  6. Управління вимогами та документація.
  7. Управління бюджетом.

Не варто розглядати ці компоненти як незалежні, оскільки вони тісно пов'язані між собою. Я також буду додавати книги/ресурси для читання (ті, які мають максимально практичну цінність) і практичні кейси.

Давайте розглянемо цю модель у звичній структурі, оскільки для початку потрібно зрозуміти, як працюють компоненти системи, і тільки потім рухатися на наступний рівень (step by step): Junior, Middle, Senior.

Навмисно даю інформацію саме в такому вигляді, оскільки знаю з власного досвіду, наскільки важко іноді зрозуміти, куди рухатися, що читати і як керувати залежностями в процесі навчання :)

В цілому, я думаю (і сподіваюся), що кожен менеджер зможе знайти для себе щось корисне, а також доповнити статтю кейсами зі свого досвіду в коментарях, оскільки покрити всі в одній статті неможливо. Тому заздалегідь дякую за коментарі.

Основи архітектури. Управління релізами

Junior

Необхідно розуміння наступних основ:

Middle

Senior

Що прочитати: «Continuous Delivery: Reliable Software Releases Build through, Test, and Deployment Automation» by Jez Humble, David Farley (мінімум на рівні Middle).

Кейс

Як я вже говорив, своєчасні релізи — це здоров'я проекту. В цілому існує думка, що чим частіше відбуваються релізи — тим краще. Погоджуся з цим лише частково: релізувати потрібно часто, але наскільки часто релізувати в лайв — це питання, який дуже залежить від бізнесу компанії :)

Не буду багато говорити про те, коли і чому потрібен Agile, але в цілому итеративная розробка іноді виявляється єдино правильним рішенням успішно «доставити» проект клієнту, а також може суттєво зменшити рівень стресу у вашій команді.

У нашій компанії ми застосовуємо крос-проектний Скрам. Чому я кажу «крос-проектний»? Ми використовуємо Atlassian Portfolio для управління великою кількістю проектів, і концепція CPR (cross-project releases) прекрасно інтегрується в наш процес.

Далі розповім трохи більше про управління ітераціями в плануванні проекту.

Планування

Junior

Middle

Senior

Що прочитати:

Кейс

Ми працюємо на кількох рівнях одночасно (контракт не враховуємо, для прикладу беремо загальну модель):

Ми використовуємо класичні двотижневі спринти і в їх назві дотримуємося формату «Sprint-X-year-month-week», для того, щоб:

А. Product Owner знав, коли він отримає певний функціонал на staging environment (тобто середовище, ідентична по конфігурації лайв сервера без необхідності йти в календар релізів.

Б. Через півроку ми легко можемо сказати, в якому релізі ми закінчили таку фічу.

Наприклад, зараз ми закінчуємо Sprint-3-18.6.2, тобто РВ знає, що необхідний функціонал він побачить на демо наприкінці другого тижня червня. Це також дозволяє більш зручно планувати завдання для наступних ітерацій.

Як ми управляємо версионностью?
Оскільки реліз ітерації — це не завжди реліз в лайв, для релізів клієнту (staging)/в лайв, ми використовуємо таке керування версіями : Git і в реліз-тикеті.

Як ми це робимо в Jira, і якщо, наприклад, необхідний хотфикс до закінчення ітерації?
Створюється тікет з кастомным issueType = `Release`, де вказується (Git) версія, і далі тікет планується як частина ітерації. Рекомендую уважно прочитати, що таке управління версіями, оскільки залежностей дуже багато в будь-якому процесі, і правильна версійність дозволяє грамотно ними управляти.

Як ми плануємо ресурси, які можуть бути розділені між декількома невеликими проектами?
Ми використовуємо термін Capacity кожного FTE , тобто кожен член команди (команди також розділені в Atlassian Portfolio) має певну кількість годин у спринті, які ми можемо використовувати. У Capacity автоматично включені ризики, і також частину часу ми резервуємо на випадок непередбачених ризиків. Тобто при правильній конфігурації менеджер може управляти ресурсами і будувати планування швидко і ефективно (звичайно, повинна працювати двостороння синхронізація з Jira). Але йому потрібно пам'ятати про те, що реліз повинен бути виконаний (а їх може бути кілька, якщо ми говоримо про управління портфоліо проектів) і скоуп не може бути перевантажений.

Capacity враховується при плануванні завантаження релізу, який виділяється червоним кольором, якщо менеджер хоче використовувати більше ресурсів, ніж треба :)

Комунікація

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

Junior

Middle

Senior

Що прочитати: «Домовитися можна про все» Гевіна Кеннеді

Окремо хотів би сказати, що дуже важливо правильно вести переговори з клієнтом, і часто потрібно вміти говорити «ні» з грамотною аргументацією. Інакше ви можете виявитися в ситуації, коли ви будете працювати в умовах божевільних дедлайнів, оскільки раніше не врахували ризики, допустили зміна скоупа та/або вибрали занадто м'яку позицію, і клієнт цим скористався. У підсумку оплатіть овертайми зі свого бюджету, і проект виявиться не тільки збитковим, але і клієнт буде незадоволений.

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

Кейс

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

Що ми зробили? Ми описали скоуп в рамках нових вимог як Time & Material , декомпозировали на кілька фаз (Epics), починаючи з MVP (minimum viable product), приоритизировали stories разом з продакт-оунером, провели переговори з клієнтом, використовуючи початкові вимоги, побудували планування і провели клієнта через весь процес.

People Management

Junior

Middle

Senior

Що прочитати: «Чорна книга менеджера» Слави Панкратова (коротка книга, не про методологіях, а про відносини між менеджером і бізнесом).

Інструменти

Junior

Middle

Senior

Що прочитати: «JIRA Essentials» by Patrick Li, Third Edition.

Управління вимогами та документація

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

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

Документуються не тільки вимоги, але і мітинги за час ітерації:

А також процеси і політики всередині компанії.

Управління бюджетом

Junior

Middle

Senior

Важливо пам'ятати, що у багатьох компаніях (і наш не виняток) проект по-справжньому прибутковим у фазі саппорта, після того як основна фаза девелопменту закінчена. Тому саппорт можна і потрібно продавати. Але це тема для окремої статті: про організацію сервіс-менеджменту та інтеграції цього процесу в реліз-менеджмент.

Висновки

У цій статті я постарався стисло, але цілісно описати аспекти роботи менеджера проектів з точки зору управління процесами. Безумовно, у кожної компанії є свої стандарти, тому все написане вище має сенс кілька усереднити.

Як я говорив на початку статті, я навмисне даю інформацію в такому форматі, щоб початківець не опинився посеред океану інформації, не знаючи, за що братися. Градацію «junior — middle — senior» слід сприймати умовно. Аналогічно можна використовувати «A — B — C», тому не варто припускати, що менеджер проектів середнього рівня буде мати саме таким сетом навичок.

В кінці виділимо декілька важливих тез, які визначають кваліфікацію та досвід менеджера:

Опубліковано: 27/06/18 @ 10:47
Розділ Різне

Рекомендуємо:

DOU Проектор: «Моє місто» — краудфандинговая платформа для тих, хто любить своє місто
Вічне літо, дешева їжа та буддистський спокій: мої 3 рокі у в'єтнамі
PHP дайджест #14: typed properties, PHP in 2018, Adobe купує Magento
PM дайджест #12: як мотивувати людей, 6 стратегій реагування на ризики, розбираємо метрики
DOU Labs: як Genesis будує найбільший платіжний сервіс в Нігерії