
- •Технологія програмування та створення програмних продуктів
- •(частина 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: Осмислення
- •Аналіз результатів
- •Управління знаннями
- •Вимоги до професійних навиків проектних ролей
- •Створення планів підготовки
- •Висновок
Створення WBS
Кожен ролевий кластер визначає об'єм своєї роботи, необхідної для створення рішення, і описує його у формі планів, чек-лістів і тому подібне
У MSF найбільша деталізація фронту робіт здійснюється не в WBS, а в звідному плані проекту. У WBS же перераховуються завдання, для яких доцільно вводити звітність і проводити їх моніторинг на рівні всього проекту.
Для створення WBS лідери ролевих кластерів проводять збори своїх команд. При визначенні фронту необхідних робіт і його розбитті на менші частини, члени ролевих кластерів спільно аналізують специфікації складових рішення. Цей процес називається декомпозицією роботи (work breakdown / work decomposition).
Один з результатів процесу управління ризиками MSF – поява додаткових завдань, що є реакцією на наявні ризики. Ця робота може бути включена в WBS, оцінена, спланована і внесена до календарного графіка точно так, як і інші завдання. Розглянете можливість поєднання процесу складання WBS з мозковим штурмом по виявленню рисок.
Перший рівень структури WBS може відповідати фазам життєвого циклу проекту. Фази моделі процесів MSF дуже добре підходять для цього. Пропоновані в MSF проміжні віхи фаз проекту відповідають створенню базових або робочих версій певних складових рішення, тому їх природно використовувати як другий рівень структури WBS. Нижче за цей рівень робота структурується за допомогою процесу декомпозиції робота/задача (work/task decomposition).
Рекомендації по декомпозиції роботи
При створенні WBS корисно враховувати наступні рекомендації:
•Витрати на кожне завдання повинні бути реалістично оцінені.
•Час виконання окремого завдання не повинна бути менш 1 і більше 40 днів (для ITпроектів).
•Кожне завдання повинно мати однозначний опис як задачі, так і очікуваного результату.
•Завдання виділені правильно, якщо їх виконання може відбуватися без істотних пауз.
•Відповідальність за кожне завдання повинно бути доручене тільки 1-му працівнику.
•Кожне завдання може припускати подальше розбиття на елементарні під-задачі.
•Діяльність, зв'язана з великими ризиками, повинна деталізуватися більше, ніж діяльність, зв'язана з меншими ризиками.
•За винятком двох верхніх рівнів, завдання повинні формулюватися в наказовій формі (наприклад, "Спроектувати структуру бази даних").
•У WBS повинно бути від трьох до п'яти рівнів визначення завдань.
•По ходу роботи над проектом WBS послідовно допрацьовується, але зазвичай її формування відбувається на фазі планування.
Оцінка знизу вгору
У IT-проектах попередні оцінки тривалості завдань, їх вартості і тому подібне слід отримувати від тих, хто потім виконуватиме оцінювану роботу. Оцінка від низу вгору (bottom-up estimating) – це процес вироблення і інтеграції оцінок багатьма членами команди. Такий підхід має наступні переваги:
•Велика точність. Оцінки, зроблені безпосередніми виконавцями, є точнішими, оскільки у цих людей є досвід аналогічної діяльності.
•Відповідальність. Ті, хто використовує в роботі власні оцінки, відчувають велику відповідальність, як за свою роботу, так і за адекватність зроблених оцінок.
•Уповноваженість (empowerment) проектної групи. Календарний графік, складений самою проектною групою, а не продиктований зверху керівництвом, надихає
131
проектну групу, оскільки він складений на основі тих оцінок, які самі члени проектної групи вважають реалістичними.
Інтеграція представлених проектною групою оцінок
Кожен лідер ролевого кластера відповідальний за оцінку часу, необхідного своєму відділу. Наприклад, лідер команди розробників готує оцінки часу розробки.
Ролевий кластер "Управління програмою" координує підготовку оцінок трудовитрат і їх в зведений календарний графік і бюджет проекту.
Значний внесок у вартість IT-проектів вносить вартість робочої сили, тому оцінки трудовитрат – це істотна частина інформації, необхідної для оцінювання вартості і календарного графіка проекту.
Формування реалістичних очікувань
Попередні кошториси впливають на подальші очікування замовника. З цієї причини правильне розуміння замовником точності цих кошторисів не менш важливий, чим вживана методика їх отримання. Ролеві кластери "Управління програмою" і "Управління продуктом" повинні провести ретельну роботу по формуванню реалістичних очікувань відносно наступного:
•Оцінки залежать від специфікації. Створення IT-рішень багато в чому нагадує побудову будинку під замовлення. Поки не відомі всі деталі замовлення, неможливо назвати ціну будинку. Проте не одні лише специфікації визначають вартість проекту. Інші складові проектної роботи, такі як переговори із замовником, наради, підготовка звітності і ін. займають певний час і, отже, повинні бути враховані в оцінках витрат.
•Будьте готові до компромісів. Робота з трикутником компромісів і встановлення базових пріоритетів з використанням матриці компромісів допомагають проектній групі і замовникові сформувати очікування.
•Не можна досягти абсолютної точності. Оскільки процес розробки рішення включає уточнення деталей, всі оцінки мають певну похибку.
•На кожній вісі відбувається переоцінка. У міру просування роботи над проектом необхідно проводити уточнення оцінок трудовитрат.
Невизначеність і точність оцінок
Оцінки при розробці ПЗ передбачають постійне уточнення. Рис. 7 ілюструє так званий "конус невизначеності" ("cone of uncertainty"), що демонструє процес збіжності оцінок програмного забезпечення. На ранніх етапах роботи над проектом оцінки витрат можуть сильно відхилятися від реальних величин. Проте у міру прогресу роботи над проектом це відхилення сходить нанівець.
Відмітимо, що на вісі "Концепція проекту затверджена" оцінки можуть відрізнятися від реальних величин у велику або меншу сторону в 2 рази. Показані на малюнку значення, узяті із статистичних даних за середину 1990-х років, не повинні сприйматися буквально. Дійсно важливим є розуміння порядків відхилення оцінок від реальних величин на кожній з фаз.
З представленої інформації можна побачити, що під час фази вироблення концепції проектна група отримує лише певні межі (іноді звані діапазонами оцінок - "ballpark estimates") для тимчасових і матеріальних витрат. Ніколи не можна стверджувати, що отримані на цій фазі оцінки остаточні – усвідомлюйте той, що після проходження віхи "Концепція проекту затверджена" вони можуть варіюватися у декілька разів.
132

Рисунок 30. Конус невизначеності
Джерело: "Cost Models for Future Lifecycle Processes: COCOMO 2.0" Boehm, et. al., 1995.
Оцінюйте завдання нижнього рівня декомпозиції
Існує декілька способів отримання оцінок трудовитрат для проектних завдань. Всі вони починаються з розбиття кожного із завдань, вказаних в WBS, на прості під-задачі. Цей процес здійснюється на рівні під-команд під безпосереднім керівництвом лідерів команд.
Потім для кожної простої під-задачі необхідно отримати всі необхідні оцінки. Їх підсумовування дає загальні оцінки для відповідних елементів WBS.
Аналіз даних, отриманих з попередніх проектів, є найкращою основою для поточних оцінок . Організації повинні збирати і використовувати такі дані. Крім того, значна частина проектної діяльності має виробничі метрики, які також можуть бути хорошою базою для оцінок.
Точнішою методикою, що рекомендується, є використання трьох значень оцінок: оптимістичною, песимістичною і найбільш правдоподібною (для кожного із завдань). Необхідно ввести критерії, що роз'яснюють значення цих термінів, – песимістична величина не повинна відповідати найгіршому зі всіх можливих сценаріїв подій. Оптимістичні і песимістичні оцінки повинні враховувати тільки обґрунтовані і вірогідні ризики.
Таким чином, після об'єднання елементарних під-задач в завдання WBS для кожної з них існують три значення оцінок. Лідери команд представляють цю інформацію на розгляд кластеру "Управління програмою" для проведення аналізу вартості, а потім використовують оцінки при складанні календарного графіка.
Аналіз PERT
Після того, як отримані оцінки по кожному з вказаних в WBS завдань, кластер "Управління програмою" (або фахівці з управління проектами) приводять ці оцінки до єдиних правдоподібних значень, за допомогою різних методів статистичного аналізу.
133