- •1. Совершенствование организации процессов разработки программного обеспечения
- •Стандарты, регламентирующие процесс разработки по
- •§ Iso/iec 12207:1995 – стандарт на процессы и организацию жизненного цикла. Распространяется на все виды заказного по. Стандарт не содержит описания фаз, стадий и этапов.
- •Разработка программных средств
- •Модели, учитывающие специфику разработки по
- •Современные модели
- •Менеджмент при разработке программного обеспечения
- •Применение методов спу для процесса разработки по
Менеджмент при разработке программного обеспечения
Разработка программного обеспечения в большинстве случаев должна рассматриваться как коллективный труд специалистов, направленный на удовлетворение потребности пользователей в автоматизации их деятельности. Как и любой другой коллективный труд, она требует организации, в частности — управления. Как и любой труд, тесно связанный с неоднозначными потребностями тех, кто будет использовать продукты труда, необходимым элементом разработки программ является решение задач изучения пользователей, с одной стороны, а с другой — обеспечения обратной связи с ними, направляющей производство. Это составляющие, из которых формируются главные задачи управления производством программ.
В модели проектной группы концепции Microsoft Solution Framework (MSF) предлагается образовывать небольшие мобильные коллективы как атомарные производственные единицы с общей ответственностью за выполняемые задания — так называемые проектные группы. Такие группы строятся как многопрофильные команды, члены которых распределяют между собой ответственность и дополняют области компетентности друг друга. Группа состоит не более чем из 10 человек. Все они считаются обладающими сходным уровнем профессиональной подготовки, хотя и в разных областях индивидуальной специализации. Провозглашается равноправие членов группы и коллективная ответственность за выполняемые задания: проектная группа — команда равных. Все это позволяет сохранять внутри группы неформальные отношения.
Вместо понятия роли для группы в целом определяются ролевые кластеры, которые заполняются точно так же, как происходит распределение ролей. В то время как за успех проекта ответственна вся команда, каждый из ее ролевых кластеров, определяемых моделью, ассоциирован с одной из проектных целей и работает над ее достижением. В данной модели именно эти цели задают роли разработчиков, которые определяются кластерами. В терминологии MSF используется понятие области компетенции, или области функциональной специализации (functional area), обозначающее ту или иную роль, которую выполняет кластер группы в проекте. Принципиальное отличие распределения исполнителей по ролевым кластерам от распределения ролей заключается лишь в том, что ответственность за это несет не менеджер проекта, а сама группа. Менеджер проекта выдает задания и контролирует их выполнение лишь в целом для группы, не вмешиваясь в ее работу.
Определено шесть ролевых кластеров, которые соответствующим образом структурируют проектные функции разработчиков.
Рис.
Ролевые кластеры модели проектной групп
MSF
Управление продуктом (product management). Ключевая цель кластера — обеспечивать удовлетворение интересов заказчика. Для ее достижения кластер должен содержать следующие области компетенции:
планирование продукта,
планирование доходов,
представление интересов заказчика,
маркетинг.
Управление программой (program management). Задача — обеспечить реализацию решения в рамках ограничений проекта, что может рассматриваться как удовлетворение требований к бюджету проекта и к его результату. Области компетенции кластера:
управление проектом;
выработка архитектуры решения;
контроль производственного процесса;
административные службы.
Разработка (development). Первостепенной задачей кластера является построение решения в соответствии со спецификацией. Области компетенции кластера:
технологическое консультирование;
проектирование и осуществление реализации;
разработка приложений;
разработка инфраструктуры.
Тестирование (test). Задача кластера — одобрение выпуска продукта только после того, как все дефекты выявлены и устранены. Области компетенции кластера:
разработка тестов;
отчетность о тестах;
планирование тестов.
Удовлетворение потребителя (user experience). Цель кластера — повышение эффективности использования продукта. Области компетенции кластера: — общедоступность (возможности работы для людей с недостатками зрения, слуха и др.);
интернационализация (эксплуатация в иноязычных средах);
обеспечение технической поддержки;
обучение пользователей;
удобство эксплуатации (эргономика);
графический дизайн.
Управление выпуском (release management). Задача кластера — беспрепятственное внедрение и сопровождение продукта. Области компетенции кластера:
инфраструктура (infrastructure);
сопровождение (support);
бизнес-процессы (operations);
управление выпуском готового продукта (commercial release management).
