Лекция №2.
Схемы организации менеджмента проекта
Разработка ПО коллективный труд специалистов, направленный на удовлетворение потребности пользователей в автоматизации их деятельности. Это процесс связывающий производственными и иными отношениями тех, кого в той или иной степени можно рассматривать в качестве производителей программы. Необходимым элементом разработки программ является решение задач изучения пользователей, с одной стороны, а с другой – обеспечения обратной связи с ними. Понятие менеджер проекта не обязательно соотносится с конкретной персоной, отвечающей за управление производством программной системы в целом.
Схемы менеджмента (классические):
- схема с одним менеджером;
- схема со службой менеджеров (помощники – обычные работники);
- схема с группой менеджеров по направлениям (помощники получают полномочия в своих сферах ответственности).
Делегирование можно считать основным инструментом разделения труда в проекте. Делегирование подразумевает ответственность за некоторую функцию.
Функции менеджера:
1) Управление проектом;
2) Руководство людьми.
Главная и постоянная задача менеджера разработки ПО – продвижение проекта к обозначенным в начале его развития результатам. Решение этой задачи сводится к распределению и контролю эффективного использования имеющихся ресурсов проекта: времени, финансов, технических средств и производственного потенциала работников.
Дополнительные задачи менеджера проекта:
1) Переиспользование раннее созданных программных компонентов;
2) Распространение ПО.
Цели разработки ПО:
С организационной точки зрения в разработке ПО можно выделить три варианта целей, определяющие деятельность менеджера:
|
1) Производство ПО не для продажи (напрямую не связанное с получением дохода);
2) Производство рыночного продукта (обеспечивающее прибыль за счет продаж);
3) Разработка под заказ (все финансирование ведется заказчиком).
Функции разработчиков
Функции разработчиков подразделяются на:
1) Организационные (создают условия для выполнения проектных заданий);
2) Производственные
a. Анализ требований
b. Кодирование
c. Тестирование
d. Отладка
Роли (ролевые кластеры)
Менеджеру проекта необходимо организовать распределение функций проекта между исполнителями. В результате ее выполнения члены команды, выполняющей проект, начинают играть соответствующие роли.
Как конкретный разработчик может получать одновременно несколько ролей, так и роль может быть распределена между несколькими исполнителями.
Ролевые кластерымодели проектной группы MSF:
1) Управление продуктом (обеспечивает удовлетворение интересов заказчика);
2) Управление программой (обеспечивает реализацию решения в рамках ограничений проекта);
3) Разработка (построение решения в соответствии со спецификацией);
4) Тестирование (одобряет выпуск продукта после того, как все дефекты выявлены и устранены);
5) Удовлетворение потребителя (повышение эффективности использования продукта) (эргономика, дизайн, обучение пользователя, иностранные версии);
6) Управление выпуском (внедрение и сопровождение продукта).
Ролевая структура проекта, предложенная Центром объектно-ориентированной технологии компании IBM:
|
1) Заказчик (инициатор разработки; принимает результаты разработки);
2) Планировщик ресурсов (выдвигает и координирует требования к проекту; направляет план выполнения проекта; представитель организации, которая ведет разработку);
3) Менеджер проекта (отвечает за конкретный проект; распределяет задания и ресурсы; следит за графиком; проверяет, что результаты соответствуют требованиям);
4) Руководитель команды (техническое руководство командой);
5) Архитектор (проектирует архитектуру системы; согласовывает развитие работ);
6) Проектировщик подсистемы (проектировщик подсистемы или классов; определяет взаимодействие с другими подсистемами);
7) Эксперт предметной области (отвечает за изучение сфера приложения; поддерживает направленность проекта);
8) Разработчик (реализует проектируемые компоненты);
9) Специалист по пользовательскому интерфейсу (отвечает за удобство использования интерфейса; взаимодействует с заказчиком);
10) Тестировщик (проверяет функциональность, качество и эффективность продукта);
11) Библиотекарь (создает и ведет общую библиотеку проекта).
Совмещение ролей
В зависимости от проекта и условий его выполнения роли участников проекта могут совмещаться. Понятно, что совмещение ролей не может быть произвольным. Одни совмещения нежелательны, другие нейтральны, третьи полезны.
Желательные:
Менеджер + архитектор;
Менеджер + специалист по интерфейсу;
Эксперт предметной области + разработчик.
Нежелательные:
Менеджер + разработчик;
Разработчик + тестировщик;
Разработчик + разработчик.
Список литературы к лекции №2.
1. Скопин И.Н. Основы менеджмента программных проектов. – Интуит, 2009.