
- •Технологія програмування та створення програмних продуктів
- •(частина 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: Осмислення
- •Аналіз результатів
- •Управління знаннями
- •Вимоги до професійних навиків проектних ролей
- •Створення планів підготовки
- •Висновок
Базові принципи MSF
Модель процесів MSF тісно пов'язана з наступними чотирма базовими принципами:
Єдине бачення проекту
Успіх колективної роботи над проектом немислимий без наявності у членів проектної групи і замовника єдиного бачення (shared vision), тобто чіткого, і, найголовніше, однакове, розуміння цілей і завдань проекту. Як проектна група, так і замовник спочатку мають власні припущення про те, що повинне бути досягнуте в ході роботи над проектом. Лише наявність єдиного бачення здатна внести ясність і забезпечити рух всіх зацікавлених в проекті сторін до загальної мети.
Формування єдиного бачення і подальше проходження йому є такими важливими, що модель процесів MSF виділяє для цієї мети спеціальну фазу (фаза "Виробітку концепції"), яка закінчується відповідною віхою.
Проявляйте гнучкість – будьте готові до змін
Традиційна дисципліна управління проектами і каскадна модель виходять з того, що всі вимоги можуть бути чітко сформульовані на початку роботи над проектом, і далі вони істотно не змінюватимуться. В протилежність цьому MSF ґрунтується на принципі безперервної змінності умов проекту при незмінній ефективності управлінської діяльності.
Концентруйтеся на бізнес - пріоритетах
Незалежно від того, чи націлений продукт, що розробляється, на організації або індивідуумів, він повинен задовольнити певні потреби споживачів і принести в деякій формі вигоду або віддачу. Відносно індивідуумів це може означати, наприклад, емоційне задоволення – як у разі комп'ютерних ігор. Що ж до організацій, то незмінним цільовим чинником продукту є бізнес - віддача (business value).
Зазвичай продукт не може приносити віддачу до того, як він повністю упроваджений. Тому модель процесів MSF включає в свій життєвий цикл не тільки розробку продукту, але і його впровадження.
Заохочуйте вільне спілкування
Історично багато організацій будували свою діяльність на основі зведення інформованості співробітників до мінімуму, необхідного для виконання роботи (need-to-know). Часто такий підхід приводить до непорозумінь і знижує шанси команди на досягнення успіху.
Модель процесів MSF припускає відкритий і чесний обмін інформацією як усередині команди, так і з ключовими зацікавленими особами. Вільний обмін інформацією не тільки скорочує ризик виникнення непорозумінь, нерозуміння і невиправданих витрат, але і забезпечує максимальний внесок всіх учасників проектної групи в зниження невизначеності, що існує в проекті.
З цієї причини модель процесів MSF пропонує проведення аналізу ходу роботи над проектом в певних тимчасових крапках. Документування результатів робить ясним прогрес, досягнутий в роботі над проектом, - як для проектної команди, так і для замовника і інших зацікавлених в проекті сторін.
Ключові концепції моделі процесів MSF
Для опису моделі процесів MSF використовуватимуться наступні концепції і терміни:
48
Замовники
MSF розрізняє терміни "замовник" (customer) і "споживач" (користувач, user)
продукту (Що б підкреслити ця відмінність, пару термінів "customer/user" в російських версіях документів по MSF ми переводили переважно як "замовник/споживач", хоча іноді і як "замовник/користувач").
Для програмних продуктів споживчого ринку, ігор і веб-приложений замовник і споживач можуть бути однією і тією ж особою.
Проте у разі бізнес - рішень це не так. Замовниками є організації або особи, охочі отримати від рішення бізнес-віддачу. Вони формують вимоги до рішення і оплачують його розробку. Споживачами ж виступають люди, що стикаються з роботою цього рішення в ході своєї професійної діяльності. Наприклад, проектом є розробка корпоративної системи подачі звітів про витрати, яка дозволить працівникам повідомляти відомості про свої витрати, використовуючи внутрішню комп'ютерну мережу компанії. Споживачами (користувачами) такої системи будуть працівники компанії, тоді як замовник – член правління, в чиє завдання входить впровадження цієї системи.
•Участь замовника. Залученість замовника є необхідною умовою успішності IT-проектів. Модель процесів MSF надає замовникові широкий спектр можливостей для уточнення і модифікації проектних вимог і установки контрольних крапок (віх) для моніторингу роботи над проектом. У свою чергу, це вимагає витрат часу з боку замовника і узяття ним на себе певних зобов'язань.
•Внутрішні і зовнішні замовники. В деяких випадках проектна група і замовник можуть представляти різні організації. Наприклад, замовник може бути покупцем, що укладає угоду із зовнішнім постачальником (яким може бути співтовариство різних організацій-партнерів).
•Контракти. MSF визнає першорядну вагу договірних і юридичних відносин між замовником, його постачальниками і проектною командою і необхідність управління цими відносинами. Точка зору MSF на управління постачаннями (Procurement management) відбита в "Білій книзі" дисципліни управління проектами MSF. Проте існує безліч інших літературних джерел, що висвітлюють вказану наочну область, тому в даному документі тема управління постачаннями досконально не досліджується.
Зацікавлені сторони (учасники)
Зацікавлені сторони (stakeholders) – це особи або групи осіб, чиї інтереси зачіпаються результатами проекту (Слід врахувати, що в MSF визначення термінів іноді декілька відрізняються від
визначень цих термінів, використовуваних в рамках деяких інших підходів до управління проектами). Не завжди цілі і пріоритети різних зацікавлених сторін співпадають з прагненнями замовника. Кожна зацікавлена сторона переслідує цілі і висуває вимоги, важливі саме для неї.
У завдання ролевого кластера "Управління продуктом" входить визначення ключових зацікавлених в проекті сторін, облік їх потреб і організація відносин з ними.
Ось приклади зацікавлених сторін, представлених зазвичай в IT-проектах:
•Начальники відділів, чий персонал і режим роботи будуть змінені в результаті впровадження рішення, що розробляється.
•Персонал супроводу рішення, на який буде покладена відповідальність за його функціонування, а також персонал супроводу інших застосувань, що зачіпають впровадженням рішення.
•Функціональні керівники (functional managers), що забезпечують проектну групу необхідними ресурсами.
49

Що є рішення?
Уповсякденному сенсі рішення – це просто стратегія або метод, що дозволяють вирішити проблему. На жаргоні IT-індустрії "рішеннями" все частіше називають програмні продукти. Тому час від часу виникає нерозуміння або навіть скептицизм відносно того, що насправді розуміється під рішенням.
УMSF термін "рішення" (solution) має дуже специфічне значення. Це скоординоване постачання набору елементів (таких як програмно-технічні засоби, документація, навчання і супровід), необхідних для задоволення деякої бізнес - потреб конкретного замовника. Хоча
MSF і використовується при розробці комерційних продуктів для масового споживчого ринку, він концентрується головним чином на постачанні рішень, призначених для певного замовника.
Продукти |
Рішення MSF |
|
Розробляються для потреб масового |
Розробляються або прив'язуються до |
|
ринку. |
потреб певного замовника. |
|
|
|
|
Поставляються як дистрибутивні |
Поставляються |
шляхом |
пакети або завантажувані файли. |
впровадження проекту. |
|
Рішення може включати один або декілька програмних продуктів, проте, потрібно чітко розмежовувати продукти і рішення. Їх відмінності підсумовуються у вищенаведеній таблиці.
На рис. 4 представлені основні елементи успішного рішення.
Рисунок 8. Елементи рішення
Проекти можуть відрізнятися по рівню складності розробки і впровадження. У простих випадках без деяких елементів, показаних на рис. 4, можна обійтися. Проте в складніших і великомасштабних проектах, мабуть, буде потреба у всіх з них.
На додаток до цього:
•Програмно-технічні засоби /спеціально код (custom code), що розробляється, можуть бути як новими, так і вдосконаленими версіями раніше розроблених компонент (в т.ч. що містять елементи, що знов додаються).
•Програмно-технічні засоби можуть включати апаратне забезпечення, програмне забезпечення, периферійні пристрої, мережеві компоненти і тому подібне Код, що спеціально розробляється, – це програмні компоненти, що розробляються для потреб конкретного проекту.
50
•Навчання зачіпає кожного, хто використовуватиме або супроводжуватиме рішення після його впровадження.
•Документація покриває всю інформацію, необхідну для установки, підтримки, супроводу і використання рішення.
•Процеси супроводу включають всі необхідні процедури резервного копіювання, відновлення, дій в нештатних ситуаціях, залагоджування виникаючих труднощів і підтримки користувачів.
•Зовнішні комунікації включають інформування зовнішніх зацікавлених сторін про хід впровадження рішення і його вплив на їх інтереси.
•Впровадження включає процедури установки/видалення впроваджуваного апаратного і програмного забезпечення, автоматизовані інструменти впровадження і сценарії
"відкоту" (rollback) в аварійних ситуаціях.
Створення базових версій
У моделі процесів MSF базова версія (baseline) – це відомий і зафіксований стан чогонебудь, використовуване для подальшого порівняння. Це поняття зустрічається в MSF вельми часто. Програмний код, конфігурації серверів, плани і календарні графіки, специфікації, керівництво користувачів і бюджет – ось лише частина тих складових проекту, для яких MSF рекомендує використовувати базові версії. Не маючи базових версій, немає можливості управляти змінами.
Рамки проекту
Рамки (scope) – це сума всіх складових проекту, які повинні стати результатом роботи над ним, а також всі послуги, що надаються, мають відношення до проекту. Рамки проекту визначають, що повинне бути зроблене для реалізації єдиного бачення. Вони є результатом компромісу між сформульованими цілями і умовами реальності і відображають пріоритезацію замовником наявних вимог до створюваного рішення. Частиною процесу визначення рамок проекту є винесення менш важливої функціональності з поточного проекту в плани на майбутнє.
Чітке окреслювання рамок надає можливість:
•Розбиття довготривалих планів на досяжні складові.
•Визначення функціональності, що додається в кожну з версій рішення, що випускаються.
•Гнучкості в плануванні і реалізації рішення.
•Створення базису для вироблення компромісів.
Необхідно визначити рамки як для вироблюваної роботи і набору послуг, що надаються, так і для функціональності створюваного рішення.
Термін "рамки" має два аспекти: рамки рішення і рамки проекту. Не дивлячись на те, що між ними є тісний взаємозв'язок, вони не тотожні один одному. Розуміння відмінностей між ними допомагає ефективному управлінню календарним графіком і вартістю проекту.
Рамки рішення (solution scope) визначають функціональність рішення і його можливості (включаючи ті, що не відносяться до програмного забезпечення). Можливість (функціональність, складова, feature) – це необхідний або бажаний аспект програмного або апаратного забезпечення. Наприклад, попередній перегляд перед друком може бути можливістю текстового процесора; шифрування поштових повідомлень – можливістю поштової програми. Супровідне керівництво користувачів, інтерактивні файли допомоги, операційне керівництво і навчання також можуть бути складовими (features) рішення.
51