Марк Паулк - Модель зрелости процессов разработки программного обеспечения
Цель 2 Заключение соглашения о взаимных обязательствах между генеральным подрядчиком и субподрядчиком.
Цель 3 Поддержка постоянного обмена информацией между генеральным подрядчиком и субподрядчиком.
Цель 4 Отслеживание генеральным подрядчиком фактических результатов работы и производительности субподрядчика относительно принятых им обязательств.
Обязательства по выполнению
Обязательство 1 Проект следует документированной организационной политике управления производственным субподрядом.
Эта политика обычно состоит из следующих положений:
1. При выборе субподрядчиков и управлении договорами по субподряду используются документированные стандарты и процедуры.
2. Управление субподрядом основывается на заключенных договорах.
3. Изменения обязательств по субподряду принимаются при участии и согласии как генерального подрядчика, так и субподрядчика.
Обязательство 2 Должен быть назначен менеджер по субподряду, ответственный за заключение договора о субподряде и управление им.
1. Менеджер по субподряду должен обладать знаниями и опытом в разработке ПО или иметь в своем распоряжении подчиненных, обладающих такими знаниями и опытом.
2. Менеджер по субподряду несет ответственность за координацию технического объема субподрядной работы и условий субподряда между заинтересованными сторонами.
Технический объем передаваемых на субподряд работ определяется группами системного проектирования и разработки ПО.
Условия договора о субподряде формулируются и отслеживаются соответствующими бизнес-группами, например, группами, которые занимаются закупкой, финансовыми и юридическими вопросами.
3. В сферу ответственности менеджера по субподряду входит следующее:
выбор субподрядчика,
управление субподрядом,
организация поддержки поставленных субподрядных продуктов.
Необходимые предпосылки
Предпосылка 1 Процесс выбора субподрядчика и управления субподрядом должен быть обеспечен соответствующими ресурсами и финансированием.
1. Производственным менеджерам и другим сотрудникам должны быть назначены конкретные обязанности по управлению субподрядом.
2. Работы по управлению субподрядом должны быть обеспечены вспомогательными инструментальными средствами.
Примеры вспомогательных инструментальных средств:
модели получения оценочных результатов,
электронные таблицы,
программы управления проектом и его календарного планирования.
Предпосылка 2 Производственные менеджеры и другие сотрудники, участвующие в заключении договора о субподряде и управлении им, должны пройти обучение выполнению этих операций.
Примеры тем учебных занятий:
подготовка и планирование субконтракта,
оценка производственных возможностей потенциального субподрядчика,
оценка сметных предположений и планов потенциального субподрядчика,
выбор субподрядчика,
управление субподрядом.
Предпосылка 3 Производственные менеджеры и другие сотрудники, участвующие в управлении субподрядом, должны получить ориентацию в технических аспектах субподрядных работ.
Примеры ориентирования:
предметная область,
применяемые технологии разработки, используемые инструменты разработки,
используемые методики,
применяемые стандарты,
используемые процедуры.
Выполняемые операции
Операция 1 Определение и планирование субподрядной работы в соответствии с документированной процедурой.
Эта процедура обычно определяет следующее:
1. Выбор программных продуктов и работ для передачи на субподряд основывается на сбалансированной оценке технических и нетехнических характеристик проекта.
Выбор разрабатываемых по субподряду функций и систем основывается на опыте и возможностях потенциальных субподрядчиков.
Спецификация программных продуктов и работ для передачи на субподряд составляется на основании систематического анализа и соответствующего разделения требований к системе и ПО.
2. Для составления спецификации субподрядных работ, применяемых стандартов и процедур используются следующие проектные документы:
техническое задание,
системные требования, отнесенные к ПО,
требования к ПО,
план разработки ПО,
стандарты и процедуры разработки.
3. Техническое задание на субподряд:
подготавливается,
проверяется,
согласуется.
Примеры сотрудников, в чьи обязанности входит проверка и согласование технического задания на субподряд:
менеджер проекта,
производственный менеджер проекта,
ответственные производственные менеджеры,
менеджер по управлению конфигурацией ПО,
менеджер по обеспечению качества ПО,
менеджер субподряда.
исправляется по мере необходимости,
является управляемым и контролируемым.
«Управляемый и контролируемый» означает, что в любой момент времени (прошлый или настоящий) известна версия используемого промежуточного продукта (т. е. реализован контроль версий), а внесение изменений происходит управляемым образом (т. е. реализовано управление изменениями).
Если желательно реализовать еще большую степень контроля, промежуточный продукт может быть помещен в условия полномасштабного управления конфигурацией, как это описано в группе ключевых процессов «Управление конфигурацией ПО».
Практики, связанные со стандартным содержанием технического задания, содержатся в описании Предпосылки № 1 группы ключевых процессов «Планирование проекта».
4. План выбора субподрядчика подготавливается одновременно с техническим заданием на субподряд и исправляется по мере необходимости.
Операция 2 В соответствии с документированной процедурой проводится выбор субподрядчика на основании оценки его способности выполнить определенную работу.
В этой процедуре оцениваются следующие факторы:
1. Поданные предложения по планируемому субподряду.
2. Прежние сведения по качеству выполнения подобной работы, если такие имеются.
3. Географическое расположение организаций потенциальных субподрядчиков относительно генерального подрядчика. Для эффективного управления некоторыми субподрядами могут потребоваться частые личные контакты.
4. Возможности по разработке ПО и управлению разработкой.
Примером метода оценки возможностей субподрядчика может служить метод SEI для оценки продуктивности процесса разработки (Software Capability Evaluation).
5. Наличие персонала для выполнения работы.
6. Прежний опыт в разработке подобных приложений, включая соответствующую квалификацию группы субподрядчика по управлению разработкой.
7. Доступные ресурсы.
Примеры ресурсов:
производственные помещения,
аппаратное обеспечение,
программное обеспечение,
средства обучения.
Операция 3 Договор между генеральным подрядчиком и субподрядчиком используется в качестве основы для управления субподрядом.
Документы договора:
1. Условия договора.
2. Техническое задание.
Практики, связанные со стандартным содержанием технического задания, содержатся в описании Предпосылки № 1 группы ключевых процессов «Планирование проекта».
3. Требования к разрабатываемым продуктам.
4. Список зависимостей между субподрядчиком и генеральным подрядчиком.
5. Перечень продуктов, поставляемых субподрядчиком генеральному подрядчику.
Примеры продуктов:
исходный код,
план разработки ПО,
среда эмуляции,
проектная документация,
план приемочного тестирования.
6. Условия внесения исправлений в продукты.
7. Процедуры и критерии приемки, используемые при оценке отданных на субподряд продуктов до их приемки генеральным подрядчиком. 8. Оценочные процедуры и критерии, используемые генеральным подрядчиком для отслеживания и оценки работы субподрядчика.
Операция 4 Представленный субподрядчиком документированный план разработки ПО рассматривается и утверждается генеральным подрядчиком.
1. Этот план разработки ПО раскрывает (непосредственно или по ссылке) соответствующие позиции из аналогичного плана генерального подрядчика.
Иногда план разработки ПО генерального подрядчика может включать в себя соответствующий план субподрядчика, для которого, в таком случае, не требуется отдельный документ.
Практики, связанные с содержанием плана разработки ПО, содержатся в описании Операции № 7 группы ключевых процессов «Планирование проекта».
Операция 5 Документированный и утвержденный план субподрядчика по разработке ПО используется для отслеживания выполнения производственных операций и получения информации об их состоянии.