Склад команди визначається досвідом і рівнем колективу, особливостями проекту, вживаними технологіями і рівнем цих технологій. Склад команди визначається також типом виконуваних робіт: під замовлення або виробництво коробочки.
У представленій моделі виділені наступні основні ролі:
· Менеджер проекту – головна дійова особа, що володіє знаннями і навиками, необхідними для успішного управління проектом. Його основні функції:
ü Підбір і управління кадрами
ü Підготовка і виконання плану проекту
ü Керівництво командою
ü Забезпечення зв'язку між підрозділами
ü Забезпечення готовності продукту
· Проектувальник – це функція проектування архітектури високого рівня і контролю її виконання. У невеликих командах функція розподіляється між менеджером і розробниками. У великих проектах це може бути цілий відділ. Основними функціями проектування є:
ü Аналіз вимог
ü Розробка архітектури і основних інтерфейсів
ü Участь в плануванні проекту
ü Контроль виконання проекту
|
|
ü Участь в підборі кадрів
· Розробник – роль, відповідальна за безпосереднє створення кінцевого продукту. Окрім власне програмування в його функції входить:
ü Контроль архітектурних і технічних специфікацій продукту
ü Підбір технологічних інструментів і стандартів
ü Діагностика і дозвіл всіх технічних проблем
ü Контроль за роботою розробників документації, тестування, технологів
ü Моніторинг стану продукту (ведення списку виявлених помилок)
ü Підбір інструментів розробки, метрик і стандартів. Контроль їх використання.
· Тестувальник – роль, відповідальна за задоволення вимог до продукту (функціональних і нефункціональних). У функції тестувальника входить:
ü Складання плану тестування. План тестування складає один з елементів проекту і складається до початку реалізації (розробки) проекту. Час, що відводиться в плані на тестування може бути зіставно з часом розробки.
ü Контроль виконання плану. Найважливіша функція контролю – підтримка цілісності бази даних зареєстрованих помилок. У цій базі реєструється:
– хто, коли і де виявив, опис помилки, опис стану середовища;
– статус помилки: пріоритет, хто вирішує
– стан помилки: висить, в розробці, дозволена, проблеми
Ця база повинна бути доступна всім, оскільки в тестуванні беруть участь всі члени команди.
ü Розробка тестів. Сама трудомістка частина в роботі тестувальника. Тестування повинне забезпечити повну перевірку функціональності при всіх режимах роботи продукту.
ü Автоматизація тестування включає автоматизацію складання тестів, автоматизацію пропуску тестів і автоматизацію обробки результатів тестування. З причини важливості автоматизації тестування, іноді вводять нового учасника – інженера по автоматизації.
|
|
ü Вибір інструментів, метрик, стандартів для організації процесу тестування.
ü Організація Бета тестування – тестування майже готового продукту зовнішніми тестерами (користувачами). Цю важливу процедуру треба продумати і організувати у разі розробки продукту коробочки.
· Інженер за якістю. У сучасному уявленні розглядається три аспекти (рівня) якості:
– якість кінцевого продукту – забезпечується тестуванням
– якість процесу розробки (теза: для підвищення якості продукту треба підвищить якість процесу розробки)
– якість (рівень) організації (теза: для підвищення якості процесу треба підвищити якість організації робіт).
В деяких випадках функції інженера за якістю покладаються на тестувальника. Насправді вони ширші – два наступні рівні якості. Тут приведені функції, відмінні від функції тестувальника:
ü Складання плану якості. План якості включає всі заходи щодо підвищення якості (на всіх рівнях). Має довготривалий характер. План тестування – його оперативна складова.
ü Опис процесів. Опис процесів є їх формалізацією. При описі вводяться метрики процесу, що впливають на якість продукту.
ü Оценка процессов включает регистрацию хода выполнения процессов и оценку значений установленных метрик процессов. Выявление «слабых» мест и выработка рекомендаций по улучшению процессов.
ü
ü Поліпшення процесів - перевизначення процесу, автоматизація частини робіт, навчання персоналу.
· Технічний письменник або розробник призначеної (і інший) для користувача документації як частини програмного продукту. Функціями технічного письменника є:
ü Розробка плану документування, який включає склад, терміни підготовки і порядок тестування документів.
ü Вибір і розробка стандартів і шаблонів підготовки документів
ü Вибирання засобів автоматизації документування
ü Розробка документації
ü Організація тестування документації
ü
ü Участь в тестуванні продукту.
· Технолог розробки ПО забезпечує виконання наступних завдань:
ü Підтримка моделі ЖЦ – створення служб і структур по підтримці працездатності прийнятої моделі ЖЦ ПО.
ü Створення і супровід середовища збірки продукту. Функція особливо важлива на завершуючих етапах розробки або при використанні моделі прототипирования. У такій ситуації збірка проводитиметься достатньо часто. Середовище збірки повинне бути підготовлена заздалегідь, збірка повинна проводитися швидко і без збоїв. З урахуванням збірки версій це не просте завдання.
ü Створення і супровід процедури установки з тим, щоб кожна збірка встановлювалася автоматично з урахуванням версії і конфігурацій середовищ.
ü Управління початковими текстами – супровід і адміністрування системи управління версіями початкових текстів.