Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Копия Консп лекц ЕВКМ Лісун 2013.doc
Скачиваний:
29
Добавлен:
04.02.2016
Размер:
8.58 Mб
Скачать

4. Функціональні ролі в колективі розробників іт-продуктів

Функції, що їх розробниками у проекті поділяються на організаційні та виробничі. Організаційні ролі створюють умови для виконання проектних завдань, виробничі – безпосередньо пов'язані з цими завданнями. Згідно концепції Microsoft Solution Framework (MSF) виділяються наступні групи функцій - так звані галузі функціональної спеціалізації (functional area).

Визначено шість рольових кластерів, які відповідним чином структурують проектні функції розробників:

Управління продуктом (product management). Ключова мета кластера – забезпечувати задоволення інтересів замовника. Для її досягнення кластер повинен містити такі області компетенції:

- Планування продукту;

- Планування доходів;

- Представлення інтересів замовника;

- Маркетинг.

Управління програмою (program management). Завдання – забезпечити реалізацію рішення в рамках обмежень проекту, що може розглядатися як задоволення вимог до бюджету проекту і до його результату. Області компетенції кластера:

- Управління проектом;

- Вироблення архітектури рішення;

- Контроль виробничого процесу;

- Адміністративні служби.

Розробка (development). Першорядним завданням кластеру є побудова рішення відповідно до специфікації.

Області компетенції кластера:

- Технологічне консультування;

- Проектування та здійснення реалізації;

- Розробка додатків;

- Розробка інфраструктури.

Тестування (test). Завдання кластера – схвалення випуску продукту тільки після того, як всі дефекти виявлені і усунені. Області компетенції кластера:

- Розробка тестів;

- Звітність про тести;

- Планування тестів.

Задоволення споживача (user experience). Мета кластеру – підвищення ефективності використання продукту. Області компетенції кластера:

- Загальнодоступність (можливості роботи для людей з вадами зору, слуху та ін);

- Інтернаціоналізація (експлуатація в іншомовних середовищах);- Забезпечення технічної підтримки;

- Навчання користувачів;

- Зручність експлуатації (ергономіка);

- Графічний дизайн.

Управління випуском (release management). Завдання кластера - безперешкодне впровадження і супровід продукту. Області компетенції кластера:

- Інфраструктура (infrastructure);

- Супровід (support);

- Бізнес-процеси (operations);

- Управління випуском готового продукту (commercial release management).

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

Замовник (Customer) – реально існуючий (в організації, якій підпорядкована команда, або поза нею) ініціатор розробки або хто-небудь інший, уповноважений приймати результати (як поточні, так і остаточні) розробки.

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

Менеджер проекту (Project Manager) – відповідає за розвиток проекту в цілому, гарантує, що розподіл завдань і ресурсів дозволяє виконати проект, що роботи і пред'явлення результатів йдуть за графіком, що результати відповідають вимогам. У рамках цих функцій менеджер проекту взаємодіє із замовником і планувальником ресурсів.

Керівник команди (Team Leader) – виробляє технічне керівництво командою в процесі виконання проекту. Для великих проектів можливе залучення декількох керівників підкоманд, що відповідають за вирішення приватних завдань.

Архітектор (Architect) – відповідає за проектування архітектури системи, погоджує розвиток робіт, пов'язаних з проектом.

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

Експерт предметної області (Domain Expert) – відповідає за вивчення сфери прикладання, підтримує спрямованість проекту на вирішення завдань в даній області.

Розробник (Developer) – реалізує проектовані компоненти, володіє і створює специфічні класи і методи, здійснює кодування та автономне тестування, будує продукт. Це широке поняття, яке може підрозділятися на спеціальні ролі (наприклад, розробник класів). Залежно від складності проекту команда може включати різне число розробників.

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

Спеціаліст з користувача інтерфейсу (Human Factors Engineer) – відповідає за зручність застосування системи. Працює з замовником, щоб упевнитися, що користувальницький інтерфейс задовольняє вимогам.

Тестувальник (Tester) – перевіряє функціональність, якість і ефективність продукту. Будує і виконує тести для кожної фази розвитку проекту.

Бібліотекар (Librarian) – відповідає за створення і ведення загальної бібліотеки проекту, яка містить всі проектні робочі продукти, а також за відповідність робочих продуктів стандартам.

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

• архітектор проекту;

• проектувальники підсистем;

• керівники команд розробки підсистем;

• спеціаліст з користувача інтерфейсу;

• експерт предметної області