ЛК. 13 – УПРАВЛІННЯ ПЕРСОНАЛОМ ПРИ РЕАЛІЗАЦІЇ ПРОГРАМНИХ ПРОЕКТІВ

 

Анотація

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

 

13.1 Основні положення менеджменту персоналу при реалізації програмних проектів

Особливість програмних проектів – велика питома вага витрат на персонал, що робить його основним і найбільш важливим ресурсом програмних проектів.

Саме з цієї причини менеджменту персоналу необхідно приділяти особливу увагу.

В управлінні персоналом слід виділити наступні моменти:

–        пошук і відбір персоналу;

–        побудова організаційної структури і розподілення ролей учасників програмного проекту;

–        забезпечення взаємодії учасників програмного проекту;

–        мотивація виконавців програмних проектів;

–        вирішення конфліктних ситуацій;

–        управління віддаленими учасниками програмних проектів.

Особливості пошуку і відбору персоналу.

В сфері інтелектуальної діяльності досить складно здійснювати пошук і відбір персоналу, оскільки основні якості співробітника складно перевірити.

Найважливіші принципи:

–        проводити активний пошук кваліфікованих фахівців, оскільки, як правило, у кваліфікованих робітників великий обсяг пропозицій по працевлаштуванню;

–        використовувати рекомендації і заохочувати давати рекомендації працюючих над проектом робітників;

–        детально знайомитися із досвідом роботи, професійними навиками, причинами звільнення робітника, давати тестові завдання;

–        активно зацікавлювати важливого робітника;

–        враховувати, що для професіонала високого рівня головним фактором є умови праці, можливість навчатися, розвиватися, використовувати сучасні технології, а лише потім – фінансова винагорода.

Цікаве запитання, яке використовувалось Едом Саліваном при співбесіді: «чи є у Вас вдома комп’ютер, на якому можна займатися розробкою?». Якщо відповідь негативна, то це свідчить про те, що претендент не є фанатом своєї справи і малоймовірно, що він здатен демонструвати високий професіоналізм і відданість проекту.

Задачі менеджменту персоналу відрізняються в залежності від рівня зрілості компанії, наприклад, їх відповідність рівню зрілості згідно зі стандартом P-CMM представлена на рис. 13.1.

 

Рис. 13.1 – Відповідність задач менеджменту персоналу рівню зрілості

процесу розробки програмного забезпечення

 

Особлива задача – необхідність утримувати співробітників.

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

13.2 Основні принципи розподілення ролей учасників програмного проекту

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

Найбільш важливі моменти.

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

Найбільш ефективний підхід – продуктова структура, невеликі команди, які складаються із учасників, що виконують різні ролі, але займаються виключно одним проектом.

Згідно з MSF виділяють наступні ролі учасників проектів.

Менеджер продукту. Ця роль забезпечує комунікаційний канал між замовником і проектною групою. Менеджер продукту керує очікуваннями замовника, розробляє і підтримує бізнес-контексту проекту. Його робота не пов’язана прямо з продажем продукту, він сфокусований на продукті, його задача – визначити і забезпечити задоволення замовника. Краща кандидатура на цю роль – існуючий користувач, співробітник комерційного відділу або інший представник замовника, якщо він розуміє задачі і механіку бізнесу.

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

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

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

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

Дуже важливо розрізняти тестування і контроль якості. Тестування зосереджене на проекті й оперує деталями і технікою роботи.

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

Логістик. Задача цієї ролі – забезпечити гладке впровадження і розвиток продукту. Звичайною є ситуація, коли впровадження продукту коштує дорожче його розробки. Логістик повинен забезпечити, щоб замовник був готовий до впровадження, щоб вчасно були виконані всі підготовчі роботи й існувала необхідна інфраструктура.

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

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

 

Таблиця 13.1 – Можливість об’єднання ролей у проектній групі відповідно до MSF

 

Менеджер продукту

Менеджер проекту

Розробик

Тестувальник

Інструктор

Логістик

Менеджер продукту

Ні

 

 

Так

Так

Менеджер проекту

Ні

Ні

Ні

Так

Так

Розробник

 

Ні

Ні

 

 

Тестувальник

 

Ні

Ні

 

 

Інструктор

Так

Так

 

 

 

Логістик

Так

Так

 

 

 

 

13.2 Забезпечення взаємодії учасників програмного проекту

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

Важливо розуміння наступних моментів:

–        найбільш ефективним засобом комунікацій є особиста взаємодія, потім – відеоконференції, телефонні розмови, засоби миттєвих повідомлень;

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

–        основний інструмент, що об’єднує розробників – система менеджменту конфігурацій.

13.3 Мотивація виконавців програмних проектів

Згідно з результатами досліджень, стимули до виконання проектів  з розробки і впровадження ІС розподілені наступним чином (табл. 13.2).

 

Таблиця 15.2 – Стимули до виконання проекту згідно опитування учасників проектів з розробки і впровадження ІС

Стимули

Доля респондентів,

яка визнала стимул, %

Грошові бонуси

80,58

Кар’єрний ріст

48,54

Гордість за добре виконану роботу

43,69

Умови роботи

38,83

Щорічна винагорода відповідно до досягнень

36,89

Технічне навчання

33,98

Відчуття внеску в роботу організації

33,98

Гнучкий робочий графік

32,04

Публічне визнання

30,10

Використання нових технологій

27,18

Робота на дому

22,33

Інше

11,65

 

Слід звернути увагу, що відповідно до табл. 15.2 хоча грошові бонуси виступають найбільш визнаним засобом мотивації, існує значна кількість ефективних нематеріальних засобів мотивації.

Таким чином, можна порекомендувати наступні нематеріальні засоби мотивації, які доцільно використовувати при розробці ПЗ:

–        просування кар’єрними сходами;

–        проведення змагань між командами розробників;

–        надання більш творчої і відповідальної роботи;

–        надання можливості приймати участь у клубах з обмеженим доступом;

–        надання кращих умов роботи, у тому числі й окремого робочого простору;

–        надання вільного робочого графіку і можливості виконувати роботу на дому;

–        надання додаткового відпочинку;

–        сумісне відвідування командами розробників культурних заходів;

–        надання можливості навчання і проведення сертифікації;

–        надання символічних подарунків;

–        надання можливості для участі у конференціях, виставках;

–        визначення виконавців із найкращими та найгіршими показниками;

–        використання перехідних символів, які видаються у якості догани за допущені помилки, а також у якості заохочення за особливі досягнення;

–        здійснення позачергового чергування по виконанню рутинних задач для тих робітників, які заслуговують на покарання з того чи іншого поводу.

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

13.4 Корпоративна культура при реалізації програмних проектів

Корпоративна культура – неформальний внутрішній «дух» організації, вона відображає, чи є організація здоровою, чи, навпаки – хворою.

Здорова позитивна корпоративна культура є важливим інструментом, який може бути використаний як ресурс, що надає конкурентну перевагу.

Організація з позитивною корпоративною культурою характеризується:

–        взаємовиручкою співробітників, колективною відповідальністю;

–        бажанням долати труднощі, приносячи в жертву особисті інтереси;

–        високою мотивацією до виконання роботи;

–        бажанням співробітників вчитися, розвиватися, використовувати нові методи виконання роботи.

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

Особливий підхід до створення високої корпоративної культури – формування високої культури розробки продуктів.

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

Хоча корпоративна культура функціонує на неформальному рівні, її виховання починається з формальних процедур і правил.

13.5 Управління віддаленими учасниками програмних проектів

Віддалена робота і робота на дому – популярний в сучасних умовах спосіб скорочення витрат на розробку програмних продуктів.

За умов правильного використання, віддалена робота є досить ефективним способом організації програмних проектів, однак вона потребує високого професійного рівня управління.

Основні принципи:

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

–        віддалені розробники отримують максимально деталізоване завдання на порівняно невеликий проміжок часу, наприклад, 2-3 дні (у будь-якому разі не триваліше тижня), по виконанню яких вони мають звітувати;

–        завдання, яке віддається на віддалену розробку обирається як таке, що має найменший рівень складності та його невиконання може становити найменш ризик для проекту.

 

СP.13 – Управління персоналом при реалізації програмних проектів

1.     Стандарт P-CMM [5, С. 138-140].

2.     Створення команди учасників програмного проекту [6, С. 202-237].