
- •Технологія програмування та створення програмних продуктів
- •(частина 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: Осмислення
- •Аналіз результатів
- •Управління знаннями
- •Вимоги до професійних навиків проектних ролей
- •Створення планів підготовки
- •Висновок
рівнях на додаток до стандартного процесу управління проектом, що відстежує ступінь завершеності проектних завдань. Звітність про ризики (risk reporting) забезпечує інформування проектної групи, спонсорів і інших зацікавлених сторін про стан ризиків проекту і планів по управлінню ними.
Коригуванням ситуації (risk control) є процес виконання прийнятих відносно ризиків планів і контролю за ходом їх виконання. Цей процес також включає ініціацію змін всього проекту (project change control requests), якщо зміни в стані ризиків або у відповідних планах впливають на прогнозований об'єм роботи, необхідні ресурси або терміни.
Отримання уроків (risk learning) формалізує процес засвоєння накопиченого за час роботи над проектом досвіду у формі, доступній для використання як усередині проектної групи, так і на рівні всього підприємства.
Відмітимо, що описані фази є логічними кроками і вони не обов'язково для кожної з ризиків повинні слідувати один за одним в строгому хронологічному порядку. Проектні групи можуть циклічно повторювати кроки виявлення-аналізу-планування у міру виявлення додаткових чинників, що впливають на проект. При цьому витягання уроків може проводитися лише час від часу на рівні всього підприємства.
Далеко не всі ризики проходять циклічно через всі приведені вище кроки. Дисципліна управління ризиками MSF вважає, що в кожному конкретному проекті на етапі планування повинно бути визначено, коли і як процес управління ризиками ініціюється, і досягши яких умов відбувається перехід від однієї фази процесу управління ризиками до іншої як відносно окремих ризиків, так і для різних їх груп.
Етап 1. Виявлення ризиків
Введення
Виявлення ризиків є початковим кроком процесу управління ризиками MSF. Щоб проектна група могла приступити до їх аналізу і планування, необхідно спочатку виявити і чітко і однозначно сформулювати наявні ризики. Виявляючи ризики, проектна група повинна приділити увагу максимально широкому кругу чинників. Зокрема, повинні бути проведене дослідження і виявлення неврахованих особливостей проекту і того середовища, в якому він розроблятиметься, оскільки вони можуть істотно вплинути на проект або навіть стати причиною його неуспіху. На мал. 2 показані початкові дані, використовувані на кроці виявлення ризиків, отримуваний результат, а також дії, що робляться.
Цілі
Метою фази виявлення ризиків є створення проектною групою списку наявних ризиків проекту. Цей список повинен бути всеосяжним (comprehensive), таким, що охоплює всі чинники, що впливають на проект.
Початкові дані
Початковими даними фази виявлення ризиків є наявні знання як про загальні, так і про специфічні для даного проекту ризиках, пов'язаних з бізнесом, технологіями, організаціями і зовнішніми умовами. Додаткові чинники, яким повинна бути приділене увага: досвід, що є у команди, вживані усередині організації підходи до ризиків, виражені у вигляді правил і інструкцій, а також вся інформація про проект, відома на даний момент, включаючи його історію і поточне положення справ. Проектна група може також використовувати будь-які інші джерела – повинно бути задіяно все, що може допомогти виявленню ризиків. На початковому етапі проекту з метою виявлення ризиків корисно проводити мозкові штурми, дискусії або навіть формальні семінари за участю різних зацікавлених осіб для ознайомлення з їх поглядами на ризики і можливості, що відкриваються проектом. Також можуть виявитися корисними галузеві схеми класифікації
87

ризиків, такі як таксономія ризиків SEI, проектні чек-лісти (checklists), звідні звіти про попередні проекти і інші опубліковані джерела і галузеве керівництво.
Рисунок 17. |
Виявлення ризиків |
Кроки по виявленню ризиків
В процесі виявлення ризиків проектна група прагне чітко сформулювати і перерахувати все наявні в проекті ризики. На початковій стадії проекту може бути організований семінар або мозковий штурм з метою виявлення ризиків, що виникають в нових умовах. На жаль, багато організацій дивляться на цю діяльність як на одноразовий захід, який проводиться на початку і не повторюється впродовж життєвого циклу проекту. Дисципліна управління ризиками MSF відстоює іншу точку зору, відповідно до якої виявлення ризиків повинне проводитися регулярно, впродовж всього проекту. Заходи щодо виявлення ризиків можуть прив'язуватися до тимчасового графіка (наприклад, бути щоденними, щотижневими або щомісячними), віх (milestones) проекту або навіть специфічних подій (пов'язаним з істотними змінами у сфері бізнесу, технологій, менеджменту або зовнішнього середовища). Такі періодичні заходи по виявленню ризиків повинні виконуватися відповідно до планів проектних груп. Наприклад, виявлення глобальних ризиків проекту всією проектною групою може бути пов'язане з головними віхами проекту, але окремі члени проектної групи в рамках областей своєї компетенції можуть проводити виявлення ризиків повторно на проміжних віхах (контрольних крапках) проекту або навіть відповідно до деякого щотижневого графіка.
88

Під час перших кроків по виявленню ризиків проекту особливу важливість представляє взаємодія між членами проектної групи і іншими зацікавленими сторонами, оскільки воно дозволяє виявити різні погляди на стан речей і суперечності між ними. Для цього необхідно привернути групи зацікавлених осіб і учасників проекту з самими різними інтересами, досвідом і професійними навиками.
Процес виявлення ризиків може також включати дослідницьку роботу, що проводиться проектною групою, або залучення з боку експертів в наочній області проекту з метою отримання великих знань про специфічно властиві нею ризики.
Структурований підхід
Скрізь, де тільки це можливо, MSF рекомендує використовувати в процесі управління ризиками структурований підхід. У проектах по розробці і впровадженню програмного забезпечення використання класифікацій ризиків на етапі виявлення надає ясно визначений, відтворний і такий, що піддається оцінці підхід. Класифікація ризиків дає основу для стандартизації термінології, необхідної для моніторингу і звітності, і є незамінної для створення бази знань про ризики на рівні підприємства або всієї індустрії. Класифікації ризиків допомагають проектній групі мислити всесторонньо, надаючи готову систематизацію всіх складових проекту, що вимагають уваги при виявленні ризиків. Така систематизація може бути отримана на підставі досвіду схожих проектів, здійснених раніше, або ж на підставі досвідчених знань індустрії в цілому. Формулювання ризиків (risk statement formulation) є основною методикою, вживаною в рамках MSF для оцінки проектів, побудови пріоритезацій ризиків і планування пов'язаної з ризиками діяльності.
Класифікація ризиків
Класифікації ризиків (або категорії ризиків), іноді звані таксономіями, призначені для декількох цілей. Під час виявлення ризиків вони стимулюють бачення проектною групою всього різноманіття ризиків, що виникають з різних складових проекту. При проведенні мозкового штурму класифікації ризиків полегшують одночасну роботу з великим числом ризиків, надаючи відповідний спосіб групування схожих ризиків. Вони також можуть бути використані в виробленні загальноприйнятої в проектній групі термінології для моніторингу і звітності про стан ризиків. Кінець кінцем, класифікації ризиків абсолютно необхідні для складання баз знань про ризики на рівні підприємств і цілих індустрій, оскільки вони надають інструментарій категоризації всієї нової інформації і зручного пошуку існуючих знань. Наступна таблиця показує високорівневу класифікацію джерел ризиків проектів.
Люди
Замовники (customers)
Кінцеві споживачі (кінцеві користувачі, end users)
Спонсори
Зацікавлені сторони
Персонал
Організація
Професійна кваліфікація
Політика
Мораль
Процеси
Цілі і завдання
89

Ухвалення рішень
Характеристики проекту
Бюджет, витрати, терміни
Вимоги (requirements)
Проектування (design)
Реалізація (building)
Тестування (testing)
Технології
Безпека
Середовище розробки і тестування
Інструментарій
Впровадження
Супровід
Операційне середовище
Доступність
Зовнішні умови
Законодавство
Індустріальні стандарти
Конкуренція
Економічні умови
Технологія
Бізнес-умови
Існує безліч класифікацій загальних ризиків проектів по розробці програмного забезпечення. Добре відомі і часто цитуються Barry Boehm, Caper Jones, і SEI Software Risk Taxonomy, що описують джерела таких ризиків.
Також є деталізовані списки областей ризиків, що покривають певну кількість складових проекту. Ризики календарного планування – це одна із загальних областей ризиків, з якою стикаються всі проектні групи. Вичерпний огляд таких ризиків, що зачіпають проекти в області розробки програмного забезпечення, був складений Steve mcconnel.
Проекти в специфічних наочних областях, проекти, здійснювані із застосуванням вузькоспеціальних технологій, проекти для вертикальних ринків, а також проекти із специфічним кінцевим продуктом можуть містити добре відомі ризики, унікальні для своєї області. Наприклад, в області інформаційної безпеки існують ризики пов'язані з крадіжкою, втратою або спотворенням інформації в результаті зловмисної дії або випадкової події. Подібні ризики зазвичай іменуються небезпеками (threats). При роботі над проектами в таких областях корисно вивчити класифікації цих спеціальних ризиків або ж розширити наявні класифікації ризиків загального призначення. Це повинно забезпечити належну широту мислення проектної групи при виявленні ризиків проекту.
Інші джерела інформації про ризики проектів включають бази даних ризиків індустріальних проектів, такі як Software Engineering Information Repository (SEIR), і
внутрішні корпоративні бази знань про ризики.
90