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

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) – відповідає за створення і ведення загальної бібліотеки проекту, яка містить всі проектні робочі продукти, а також за відповідність робочих продуктів стандартам.

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

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

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

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

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

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