Модель зрелости процессов разработки программного обеспечения
Шрифт:
Проект
Является предприятием, которое требует совместных усилий, сосредоточенных на разработке и/или сопровождении конкретного продукта. Продукт может включать в себя оборудование, программное обеспечение и другие компоненты. Обычно проект имеет собственное финансирование, отчетность и график поставок.
Группа
Представляет собой совокупность отделов, менеджеров и сотрудников, которые несут ответственность за набор задач или операций. Состав группы может варьироваться от одного или нескольких совместителей из различных отделов до нескольких сотрудников, занятых
Ниже описаны группы, наиболее часто встречаемые в СММ.
Группа разработки ПО
Представляет собой коллектив сотрудников (руководителей и технических специалистов), которые несут ответственность за проектные операции по разработке и сопровождению ПО (т. е. анализ требований, проектирование, кодирование и тестирование).
В группу разработки не входят группы, косвенно связанные с разработкой, такие как группы обеспечения качества ПО, управления конфигурацией ПО и инженерии производственного процесса. Эти группы входят в число «групп, связанных с разработкой ПО».
Группы, связанные с разработкой ПО
Представляет собой коллектив сотрудников (руководителей и технических специалистов), чьи обязанности заключаются не в непосредственном участии в процессах разработки и сопровождения ПО, а в их поддержке.
Примерами подобных инженерных областей могут служить обеспечение качества ПО и управление конфигурацией ПО.
Группа инженерии производственного процесса
В группу входят специалисты, занимающиеся определением, сопровождением и улучшением производственного процесса организации. В ключевых практиках эта группа обычно называется «группой, ответственной за операции ППО».
Группа системного проектирования
Является коллективом сотрудников (руководителей и технических специалистов), которые несут ответственность за определение системных требований; отнесение этих требований к оборудованию, ПО и другим компонентам; определение интерфейсов между оборудованием, ПО и другими компонентами; мониторинг проектирования и разработки этих компонентов, обеспечивающий их соответствие техническим требованиям.
Группа системного тестирования
Группа системного тестирования представляет собой коллектив сотрудников (руководителей и технических специалистов), которые несут ответственность за планирование и выполнение независимого системного тестирования ПО, проводимого в целях проверки программного продукта на соответствие требованиям.
Группа обеспечения качества ПО
Представляет собой коллектив сотрудников (руководителей и технических специалистов), которые несут ответственность за планирование и проведение проектных мероприятий по обеспечению качества, поддерживающих соответствие этапам и стандартам производственного процесса. Организационные вопросы обеспечения качества ПО обсуждаются в разделе 4.4.3.
Группа управления конфигурацией ПО
Представляет собой коллектив сотрудников (руководителей и технических специалистов), которые несут ответственность за планирование, координацию и реализацию формальных действий по управлению конфигурацией проекта разработки ПО.
Группа обучения
Состоит из сотрудников (руководителей и технических специалистов), отвечающих за координацию и проведение учебных
7.4.3. Независимость и организационная структура
Организация должна следить за корректностью интерпретации и выполнения ключевых практик, реализующих концепцию независимости. Это имеет особенно большое значение для небольших проектов и организаций. Если технические или организационные пристрастия могут повлиять на качество продукта или проектные риски, ключевые практики рекомендуют использовать концепцию независимости. Два примера подобных практик:
Группа обеспечения качества (SQA) имеет канал отчетности перед старшим руководством, который независим от менеджера проекта, группы разработки ПО и других групп, связанных с разработкой (обязательство 1.2 из раздела «Обеспечение качества ПО»).
Системные и приемочные тестовые сценарии и процедуры планируются и готовятся группой тестирования, которая независима от разработчиков ПО (действие 7.3 из раздела «Инженерия разработки программного продукта»).
Необходимость независимого системного и приемочного тестирования обусловлена техническими факторами. Эта независимость гарантирует, что сотрудники группы тестирования не подвергнутся влиянию решений, принятых разработчиками или специалистами по технической поддержке ПО при его проектировании и реализации.
Независимость группы обеспечения качества диктуется тем, что график и бюджет проекта не должны влиять на работу членов этой группы. Отсутствие организационной независимости может значительно усложнить обеспечение эффективной оперативной независимости. Например, сотрудник, подотчетный менеджеру проекта, может быть вынужден прервать тестирование несмотря на существование серьезных проблем с совместимостью продукта.
Организации должны определить такую организационную структуру, которая поддерживала бы независимость операций, подобных обеспечению качества, в контексте своих стратегических бизнес-целей и бизнес-среды.
Независимость должна:
обеспечивать сотрудникам группы обеспечения качества организационную свободу, позволяющую им быть «глазами и ушами» старшего руководства проекта;
исключить вынесение оценки работы сотрудников группы обеспечения качества со стороны руководства того проекта, о котором они подают отчет;
обеспечить уверенность старшего руководства в объективности получаемых отчетов о производственном процессе и продуктах проекта.
Поскольку ключевые практики допускают различные трактовки критериев независимости, организация должна получить профессиональную оценку их соответствия целям группы ключевых процессов.
7.5. Применение профессиональной оценки
Чтобы обеспечить полный набор принципов, применяемых к самым различным ситуациям, в некоторых ключевых практиках изначально заложена возможность гибкой трактовки. В ключевых практиках используются такие размытые фразы, как «заинтересованные группы», «по обстановке» или «по мере необходимости». Значение таких нечетких терминов в ключевых практиках обычно уточняется различными примерами, приводимыми, по крайней мере, при первом употреблении термина. Эти фразы могут иметь различные значения для разных организаций, для разных проектов внутри одной организации или для одного проекта в различные моменты его жизненного цикла. Для каждого проекта или организации смысл этих фраз должен быть уточнен в соответствии с конкретной ситуацией.