
- •Технологія програмування та створення програмних продуктів
- •(частина 2)
- •Візуальне моделювання на основі UML
- •MSF – Модель проектної групи (v. 3.1)
- •Анотація
- •1. Основи моделі проектної групи MSF
- •Основні принципи
- •Розподіл відповідальності при фіксації звітності
- •Наділення членів команди повноваженнями
- •Концентрація на бізнес-пріоритетах
- •Єдине бачення проекту
- •Прояв гнучкості і готовність до змін
- •Заохочення вільного спілкування
- •2. Ключові концепції
- •Команда соратників
- •Фокусування на потребах замовника
- •Націленість на кінцевий результат
- •Установка на відсутність дефектів
- •Прагнення до самовдосконалення
- •Зацікавлені команди працюють ефективно
- •3. Випробувані методики
- •Малі багатопрофільні проектні групи
- •Колективна робота
- •Загальна участь в проектуванні
- •4. Огляд моделі команди MSF
- •Задоволені замовники
- •Досягнення результату в рамках проектних обмежень
- •Створення продукту відповідно до специфікації
- •Схвалення випуску продукту лише після того, як всі дефекти виявлені і відлагоджені
- •Підвищення споживчої цінності продукту
- •Безпроблемне впровадження і супровід продукту
- •Ролеві кластери моделі проектної групи
- •I. Ролевий кластер "Управління продуктом"
- •Області компетенції
- •1. Планування продукту
- •2. Бізнес-віддача
- •3. Представлення інтересів замовника
- •4. Маркетинг
- •II. Ролевий кластер "Управління програмою"
- •Області компетенції
- •1. Управління проектом
- •2. Вироблення архітектури рішення
- •3. Контроль виробничого процесу
- •4. Адміністративні служби
- •III. Ролевий кластер "Розробка"
- •Області компетенції
- •1. Технологічне консультування
- •2. Проектування і здійснення реалізації
- •3. Розробка програмних рішень
- •4. Розробка інфраструктури
- •IV. Ролевий кластер "Тестування"
- •Області компетенцій
- •1. Планування тестів
- •2. Розробка тестів
- •3. Звітність про тести
- •V. Ролевий кластер "Задоволення споживача"_
- •Області компетенцій
- •1. Загальнодоступність
- •2. Інтернаціоналізація
- •3. Забезпечення технічної підтримки
- •4. Навчання користувачів
- •5. Зручність експлуатації (ергономіка)
- •6. Графічний дизайн
- •VI. Ролевий кластер "Управління випуском"
- •Області компетенції
- •1. Управління випуском
- •2. Інфраструктура
- •3. Супровід
- •4. Бізнес-процеси
- •Масштабування моделі проектної групи
- •Групи напрямів
- •Функціональні групи
- •Об'єднання ролей
- •Ескалація і підзвітність
- •Модель проектної групи немає організаційної структури
- •Зовнішня координація – на кому лежить відповідальність?
- •Висновок
- •MSF: Модель процесів
- •Анотація
- •Короткий огляд методології
- •Введення
- •Інші моделі процесів
- •Краще з двох світів
- •Базові принципи MSF
- •Єдине бачення проекту
- •Проявляйте гнучкість – будьте готові до змін
- •Концентруйтеся на бізнес - пріоритетах
- •Заохочуйте вільне спілкування
- •Ключові концепції моделі процесів MSF
- •Замовники
- •Зацікавлені сторони (учасники)
- •Що є рішення?
- •Створення базових версій
- •Рамки проекту
- •Управління компромісами
- •Трикутник компромісів
- •Матриця компромісів проекту
- •Характеристики моделі процесів MSF
- •Підхід, заснований на віхах
- •Характеристики підходу, заснованого на віхах
- •Головні і проміжні віхи
- •Віхи як точки синхронізації
- •Віхи як орієнтири виробничої відповідальності
- •Провідні ролі різних фаз
- •Аналіз пройдених віх
- •Ітеративний підхід
- •Характеристики ітеративного підходу
- •Випуск версій
- •Створення "живої" документації
- •Ранні базові версії, відкладені підсумкові версії
- •Щоденні білди
- •Управління конфігураціями проекту
- •Рекомендації для випуску версій рішення
- •Створюючи плани, передбачайте версіонування
- •Перш за все, поставляйте базову функціональність
- •Вибирайте пріоритети, враховуючи ризики
- •Здійснюйте часті ітерації розробки
- •Інституціюйте процедури контролю змін в проекті
- •Цілісний погляд на розробку і впровадження
- •Переваги інтегрованої моделі процесів
- •Зосередження на потребах підприємства
- •Покращена підтримка розробки веб-приложений
- •Покращена підтримка веб-сервісів
- •Поліпшення взаємодії з командою супроводу
- •Зауваження про використання інтегрованої моделі процесів
- •Тривалість фаз не однакова
- •Діяльність може виходити за межі однієї фази
- •Проекти, обмежені розробкою застосування або впровадженням інфраструктури
- •Фази і віхи моделі процесів MSF
- •Фаза вироблення концепції
- •Введення
- •Віха "Концепція затверджена"
- •Результати
- •Основні завдання проектної групи на фазі вироблення концепції
- •Проміжні віхи, що рекомендуються
- •Ядро проектної групи сформоване
- •Чорновий варіант концепції проекту складений
- •Фаза планування
- •Введення
- •Віха "Плани проекту затверджені"
- •Результати
- •Основні завдання проектної групи на фазі планування
- •Проміжні віхи, що рекомендуються
- •Верифікація технологій
- •Базова версія функціональної специфікації створена
- •Базова версія звідного плану проекту створена
- •Базова версія звідного календарного графіка проекту створена
- •Середовища розробки і тестування розгорнені
- •Фаза розробки
- •Введення
- •Віха "Розробка завершена"
- •Результати
- •Основні завдання проектної групи на фазі розробки
- •Проміжні віхи, що рекомендуються
- •Концепція підтверджена
- •Білд n завершений, білд n+1 завершений...
- •Фаза стабілізації
- •Введення
- •Віха "Готовність рішення затверджена"
- •Результати
- •Основні завдання проектної групи на фазі стабілізації
- •Проміжні віхи, що рекомендуються
- •Точка конвергенції
- •Точка досягнення нуля
- •Версії-кандидати
- •Контрольне тестування завершене
- •Тестування прийнятності для споживачів завершене
- •Пілотне впровадження завершене
- •Фаза впровадження
- •Введення
- •Віха "Впровадження завершене"
- •Результати
- •Основні завдання проектної групи на фазі впровадження
- •Проміжні віхи, що рекомендуються
- •Ключові компоненти розгорнені
- •Впровадження на місцях завершене
- •Упроваджене рішення стабілізоване
- •Методики моделі процесів MSF, що рекомендуються
- •Стимулювання винахідливості для розширення функціональності й обмеження ресурсів
- •Фіксування календарного графіка
- •Календарне планування на невизначене майбутнє
- •Використання паралельно працюючих компактних команд
- •Розбиття великих проектів на реальні частини
- •Отримання уроків з пройдених віх
- •Використання прототипіювання
- •Використання частих білдів і швидких тестів
- •Часті ітерації розробки і впровадження
- •Уникання розповзання рамок проекту
- •Оцінка з низу до верху
- •Інтеграція представлених проектною групою оцінок
- •Застосування A
- •Зміни в порівнянні з попередньою версією MSF
- •Висновок
- •Література
- •Анотація
- •Введення
- •Основні відомості про ризики
- •Базові принципи:
- •1. Гнучкість і постійна готовність до змін
- •2. Вільне спілкування
- •3. Отримання зі всього уроків
- •4. Розподіл відповідальності при фіксації звітності
- •Ключові концепції:
- •Найбільш ефективним є превентивне управління ризиками
- •2. Заохочення до виявлення ризиків
- •3. Постійна оцінка ризиків
- •4. Підтримка відкритого спілкування
- •5. Постійний аналіз ризиків
- •6. Кількість ризиків не характеризує реальне положення речей
- •Планування управління ризиками
- •Процес управління ризиками
- •Загальне уявлення
- •Етап 1. Виявлення ризиків
- •Введення
- •Початкові дані
- •Кроки по виявленню ризиків
- •Структурований підхід
- •Класифікація ризиків
- •Формулювання ризиків
- •Результати
- •Етап 1. Аналіз і пріоритезація ризиків
- •Введення
- •Мета
- •Початкові дані
- •Процес аналізу ризиків
- •Вірогідність ризику
- •Загроза ризику
- •Очікувана величина ризику
- •Додаткові кількісні методики
- •Результати
- •Головна таблиця ризиків
- •Інші методи проведення аналізу
- •Документ опису ризиків
- •Список головних ризиків
- •Деактивація ризиків
- •Планування ризиків_
- •Введення
- •Початкові дані
- •Заходи
- •Дослідження
- •Ухвалення
- •Уникнення
- •Перенесення
- •Запобігання
- •Пом'якшення наслідків (реагування)
- •Календарне планування
- •Результати
- •Діяльність по управлінню ризиками
- •Документування планів
- •Оновлення плану і календарного графіка проекту
- •Моніторинг ризиків_
- •Початкові дані
- •Заходи щодо моніторингу
- •Звітність про стан ризиків
- •Результати
- •Коректування ситуації_
- •Мета
- •Початкові дані
- •Дії з коректування ситуації
- •Результати
- •Витягання уроків з ризиків
- •Введення
- •Типи отримуваних уроків
- •Управління витяганням уроків
- •Контекстна класифікація ризиків
- •База знань про ризики
- •Досягнення зрілості в управлінні знаннями про ризики
- •Управління ризиками як складова частина життєвого циклу проекту_
- •Управління ризиками на підприємстві
- •Створення культури управління ризиками
- •Управління портфелем проектів_
- •Висновок
- •MSF: Дисципліна управління проектами
- •Анотація
- •Введення
- •Базові принципи MSF
- •Пр.1: Розподіл відповідальності при фіксації звітності
- •Пр.2: Наділення членів команди повноваженнями
- •Ключові концепції
- •1) Дисципліни MSF
- •2) Поняття управління проектом
- •3) Менеджмент проекту і менеджер проекту
- •4) Управління проектами і специфічні IT-процеси
- •Особливості управління проектами в MSF
- •Роль менеджера проекту покладається на кластер "Управління програмою"
- •Взаємодія "Управління програмою" з лідерами командних ролей
- •A. Функціональні групи
- •B. Групи напрямів
- •Масштабування функцій управління проектом
- •Обов'язки по управлінню проектами
- •Лідери груп
- •Кластер "Управління програмою"
- •Управління великими і складними проектами
- •Адміністративні служби проекту
- •Звітність перед замовником
- •Рекомендації проектним групам
- •Управління рамками проекту
- •Визначення рамок на етапі вироблення концепції
- •Рамки рішення і рамки проекту
- •Визначення рамок (scope definition)
- •Управління змінами рамок (scope change control)
- •Підготовка планів
- •Повторне використання документів
- •Плани проекту
- •Ієрархічна структура робіт
- •Відповідність між WBS, функц. специфікаціями і зведеним планом
- •Створення WBS
- •Рекомендації по декомпозиції роботи
- •Оцінка знизу вгору
- •Інтеграція представлених проектною групою оцінок
- •Формування реалістичних очікувань
- •Невизначеність і точність оцінок
- •Оцінюйте завдання нижнього рівня декомпозиції
- •Аналіз PERT
- •Рекомендації по складанню календарного графіка
- •1) Впорядкування завдань
- •2) Обмеження часу
- •3) Вибір пріоритетів, з врахуванням ризиків
- •Створення часових буферів
- •Висновок
- •MSF: Дисципліна "Управління підготовкою"
- •Анотація
- •Вступ
- •Базові принципи
- •Пр.1: Заохочення вільного спілкування
- •Пр.2: Інвестування в якість
- •Пр.2: Отримання уроків
- •Пр.3: Гнучкість та готовність до змін
- •Ключові концепції
- •1) Інвентаризація наявних знань
- •2) Прагнення до самовдосконалення
- •3) Підготовка повинна бути перманентним процесом
- •Випробувані методики
- •1) Планування підготовки
- •Оцінка і моніторинг професійного рівня і індивідуальних цілей
- •Відноситеся до пропусків в підготовці як до ризиків
- •Огляд процесу Управління підготовкою
- •1) Визначення:
- •2) Оцінювання:
- •3) Коригування:
- •4) Осмислення:
- •Превентивне Управління підготовкою
- •Підготовка впродовж життєвого циклу ІТ
- •Кроки процесу Управління підготовкою
- •Крок 1: Визначення
- •Скл. 1: Проектні сценарії
- •Скл. 2: Кваліфікаційні вимоги
- •Скл. 3: Професійні навики
- •Крок 2: Оцінювання
- •Оцінка знань, умінь, здібностей
- •Специфікація процесу оцінювання
- •Збір і обробка даних
- •Обробка результатів оцінювання
- •Аналіз невідповідностей
- •Створення планів навчання
- •Крок 3: Коригування
- •Навчання
- •Моніторинг прогресу
- •Крок 4: Осмислення
- •Аналіз результатів
- •Управління знаннями
- •Вимоги до професійних навиків проектних ролей
- •Створення планів підготовки
- •Висновок

A. Функціональні групи
Функціональні групи – це під-команди, що існують всередині ролевих кластерів. Вони формуються тоді, коли завдання, що стоять перед ролевим кластером, дуже масштабні і вимагають виділення спеціальних ресурсів. Ключовий момент тут – розділення завдань, що стоять перед ролевим кластером, а не потреба ролевого кластера в більш ніж одному співробітнику.
Приклад показаний на рис.
2.
Лідери груп (team leads) є ключовими фігурами, інтегруючими свої колективи в загальну проектну діяльність.
Вони несуть відповідальність за управління проектом на рівні своїх під-команд.
Рисунок 25. Приклад функціональної групи "Задоволення споживача"
B. Групи напрямів
Групи напрямів – це багатопрофільні під-команди, організовувані для створення певної складової рішення. Вони компонуються з ролей моделі проектної групи
Рисунок 26. Приклад груп напрямів
Рис. 3 ілюструє групи напрямів. Виконавець ролі "Управління програмою" також є лідером групи і забезпечує інтеграцію із загальною проектною командою. Створення груп напрямів може бути розумним рішенням при організації віддалених або "офшорних" (offshore) підрозділів, що розробляють значною мірою незалежні компоненти рішення.
Масштабування функцій управління проектом
Рис. 4 показує, як організовується управлінська діяльність в проектах трьох різних масштабів.
122

Рисунок 27. Управління проектами різних розмірів
Упершому проекті команда складається з шести або навіть меншої кількості членів, які виконують всі проектні ролі. У такому випадку робота по управлінню проектом здійснюється роллю "Управління програмою". Це не означає, що решта кластерів не повинна вносити до неї ніякого внеску – фактично, саме вони відповідальні за планування, часові оцінки і виявлення ризиків в рамках своїх областей компетенції.
Удругому проекті всім (або майже всім) ролевим кластерам відповідають підкоманди, у кожної з яких є свій лідер. Ці лідери здійснюють управління проектом на рівні своїх під-команд. Ролевий кластер "Управління програмою" здійснює загальне управління проектом. Тут на малюнку не показані групи напрямів, хоча вони також є під-командами, в кожній з яких є власний лідер – "Управління програмою".
Ситуація в третьому проекті схожа з ситуацією в другому, проте у нього є специфічні ризики, пов'язані з розміром або складністю. У MSF проект називається складним, якщо в ньому є ризики, що відносяться до наступних чинників:
•Великий розмір або витрати.
•Географічна віддаленість працівників.
•Члени проектної групи працюють на різні компанії, організації або субпідрядників.
•Фіксований або вкрай обмежений бюджет або календарний графік.
•Контрактні взаємини або юридичні проблеми, що вимагають додаткового часу і спеціальних навиків.
Для запобігання цим ризикам ролевий кластер "Управління програмою" розбивається на функціональні групи, що складаються з фахівців з управління проектами і з архітектури продукту. Відмітимо, що поріг рівня ризиків, що диктує необхідність такого розбиття, відрізнятиметься від організації до організації, і від проекту до проекту. Те, що є дорогим для однієї організації, може бути цілком прийнятним для іншої. Рішення з даного питання повністю залежить від результатів оцінки ризиків, отриманих на початковому етапі проекту.
123

Обов'язки по управлінню проектами
У попередньому розділі було розказано про те, як діяльність по управлінню проектом розподіляється серед членів проектної групи при різних масштабах і рівнях складності проектів. У даному розділі описується сама ця діяльність.
Рисунок 28. Розподіл відповідальності по управлінню проектом серед лідерів груп
На рис. 5 показано обов'язки по управлінню проектом, які виконують лідери ролевих кластерів і лідер кластеру "Управлінням програмою". Фахівці з управління проектами, що притягуються в складних випадках (як, наприклад, третій проект, показаний на рис. 4), фокусуються виключно на відповідних завданнях кластера "Управління програмою". Одна і та ж зона відповідальності може розглядатися як на рівні всього проекту, так і на рівні підкоманд.
Лідери груп
Лідери груп готують для своїх під-команд плани, що описують ведення роботи, її моніторинг, управління рамками і змінами, виділення ресурсів, а також координують інформаційні потоки. У цю діяльність вони залучають всіх членів під-команд. Беручи участь в загальному процесі виявлення ризиків, лідери команд особисто звітують за виявлення ризиків у своїх областях компетенції.
Існує 3 аспекти (на рис. 5), відповідальність за яких не покладається на лідерів команд:
1.Управління вартістю проекту зазвичай здійснюється централізовано кластером "Управління програмою". Розподіл цієї функції серед лідерів команд був би не раціональним і могло б привести до хаосу в роботі.
2.Функції постачання зазвичай здійснюються ролевими кластерами "Управління програмою" і/або "Управління випуском" без участі інших лідерів команд. "Управління програмою" керує закупівлями і висновком контрактів на надання необхідних для проекту послуг.
124
Наприклад, це може бути залучення в проектну команду сторонньої фірми, як субпідрядника, що займається веб-дизайном. "Управління випуском", будучи відповідальним за забезпечення роботи проектної групи, здійснює закупівлі апаратного і програмного забезпечення, сприяє придбанню іншого майна, необхідного для команди розробників, лабораторій тестування програмного продукту в цілому, тощо.
3.Управління комунікацією на рівні всього проекту розподіляється серед ролевих кластерів "Управління програмою" і "Управління продуктом". "Управління продуктом" розробляє комунікаційний план і представляє його на розгляд замовникові і іншим зацікавленим сторонам. "Управління програмою" планує і несе відповідальність за проектні комунікації, такі як звітність про хід проекту, організація зборів проектної групи і ін. Управління комунікацією також включає комунікаційне планування, призначення відповідальних за зовнішні контакти співробітників і надання зацікавленим особам звітів про хід проекту.
Кластер "Управління програмою"
На додаток до відповідальності за високорівневу архітектуру рішення і створення функціональних специфікацій (відповідно до моделі проектної групи), ролевий кластер "Управління програмою" є єдиним організатором всіх аспектів діяльності по управлінню проектом.
"Управління програмою" інтегрує плани під-команд в звідний план проекту, синхронізує календарні графіки і контролює міжкомандні взаємозв'язки.
Покладання відповідальності за проектування рішення і функціональні специфікації на ту роль, яка відповідальна і за календарний графік і вартість, має істотну перевагу: це формує баланс між тенденціями до введення в рішення зайвої функціональності і до урізування бюджету і календарного графіка проекту.
Управління великими і складними проектами
У міру зростання об'єму і складності проекту стає все більш важче управляти його функціональними специфікаціями, підтримувати календарний графік, забезпечувати зовнішню комунікацію, звітність про хід проекту і тому подібне. Для вирішення цих труднощів часто має сенс розділити обов'язки ролевого кластера "Управління програмою" на дві групи:
1)рішення, що відносяться до архітектури;
2)рішення, присвячені управлінню проектом.
Адміністративні служби проекту
У певному значенні, великий проект стикається з багатьма потребами, наявними в малих проектах: фінансовий контроль, постачання, управління текучістю кадрів, організація консалтингу і навчання, створення робочого середовища і так далі. У ще більших проектах завдання моніторингу ходу проекту, вартості і календарного графіка стають дуже затратними. Щоб дати можливість менеджерам проекту сфокусуватися на найбільш насущниших питаннях, рутинна робота по управлінню проектом переноситься в адміністративні служби (служби підтримки проекту). Вони також допомагають лідерам команд контролювати календарний графік роботи і здійснювати іншу діяльність, пов'язану з управлінням проектом.
Звітність перед замовником
Як правило, замовники хочуть мати єдине джерело звітності про хід роботи над проектом. У деяких організаціях цей обов'язок покладається на менеджерів проекту. Такий підхід іноді виправдовує себе у великих і складних проектах, але він може привести до дисбалансу звітності серед ролевих кластерів, що приведе до зниження ефективності роботи.
125