Марк Паулк - Модель зрелости процессов разработки программного обеспечения
Цель группы ключевых процессов «Определение производственного процесса организации» — разработка и поддержка практичного набора основных средств производственных процессов, которые улучшают показатели выполнения процессов в различных проектах и в итоге дают организации долгосрочные экономические преимущества. Эти основные средства обеспечивают стабильный фундамент разработки, который внедряется с помощью таких механизмов, как обучение (группа «Программа обучения»).
Цель группы ключевых процессов «Программа обучения» — рост квалификации и знаний сотрудников, позволяющий им выполнять свои роли более рационально и эффективно. Обучение входит в корпоративную сферу ответственности, но для каждого проекта разработки следует определить его квалификационные потребности и обеспечить необходимое обучение в тех случаях, когда эти потребности уникальны.
Цель группы ключевых процессов «Интегрированное управление разработкой ПО» — интеграция операций разработки и управления в последовательный и определенный производственный процесс, полученный путем адаптации СППО и связанных с ним основных средств, описанных в группе «Определение производственного процесса организации». Эта адаптация основывается на бизнес-среде и технических потребностях проекта (группа «Инженерия разработки программного продукта»). Группа ключевых процессов «Интегрированное управление разработкой ПО» является развитием групп второго уровня «Планирование проекта» и «Отслеживание хода проекта и контроль над ним».
Цель группы ключевых процессов «Инженерия разработки программного продукта» — последовательное выполнение четко определенного процесса, интегрирующего все операции разработки в целях рационального и эффективного создания качественных и надежных программных продуктов. В этой группе описываются технические работы проекта, такие как анализ требований, проектирование, кодирование и тестирование.
Цель группы ключевых процессов «Межгрупповая координация» — установление средств активного взаимодействия разработчиков с другими инженерными группами в целях более эффективного и рационального удовлетворения потребностей заказчика. Межгрупповая координация представляет собой междисциплинарный аспект интегрированного управления разработкой ПО, распространяющийся за пределы инженерии разработки. Интеграции подлежит не только процесс разработки — взаимодействия разработчиков с другими группами также должны координироваться и контролироваться.
Цель группы ключевых процессов «Экспертные оценки» — эффективное устранение дефектов в промежуточных программных продуктах на ранних стадиях разработки. Важным следствием этого является улучшение понимания промежуточных программных продуктов и дефектов, которые могут быть предотвращены. Экспертная оценка является важным и эффективным инженерным методом, который используется в инженерии разработки в виде инспекций программ по методу Фагана [Fagan 86], структурированных технических разборов или различных других методов коллегиальных проверок [Freedman 90].
Группы ключевых процессов уровня 4 нацелены на установление количественного понимания производственного процесса и создаваемых промежуточных программных продуктов. Как показано ниже, группы ключевых процессов этого уровня «Количественное управление процессом» и «Управление качеством ПО» являются в высшей степени взаимозависимыми.
Цель группы ключевых процессов «Количественное управление процессом» — установление количественного контроля над производительностью процесса проекта разработки. Производительность отражает реальные результаты, достигаемые при выполнении производственного процесса. Работы этой группы концентрируются на выявлении особых причин отклонений внутри стабильного (в целом) процесса и, по мере необходимости, коррекции ситуаций, ведущих к возникновению этих временных отклонений. Количественное управление процессом добавляет детализированную программу измерений к практикам групп «Определение производственного процесса организации», «Интегрированное управление разработкой ПО», «Межгрупповая координация» и «Экспертные оценки».
Цель группы ключевых процессов «Управление качеством ПО» — развитие количественного понимания качества программных продуктов проекта и достижение определенных показателей качества. Управление качеством ПО подвергает тщательным измерениям промежуточные программные продукты, описанные в группе «Инженерия разработки программного продукта».
Группы ключевых процессов уровня 5 охватывают вопросы, решаемые как организацией, так и отдельными проектами при реализации непрерывного и измеряемого усовершенствования производственного процесса. Ниже приводятся описания всех групп ключевых процессов уровня 5.
Цель группы ключевых процессов «Предотвращение дефектов» — выявление причин дефектов и предотвращение их повторного появления. В ходе проекта разработки проводится анализ обнаруженных дефектов, определяются их причины и вносятся соответствующие изменения в производственный процесс проекта (группа «Интегрированное управление разработкой ПО»). Изменения процесса, имеющие общий характер, переносятся на другие проекты разработки (группа «Управление изменениями процесса»).
Цель группы ключевых процессов «Управление технологическими изменениями» — выявление новых полезных технологий (т. е. инструментов, методов и процессов) и их организованного внедрения в организации (группа «Управление изменениями процесса»). Управление технологическими изменениями нацелено на эффективное внедрение новшеств в условиях постоянно меняющейся среды.
Цель группы ключевых процессов «Управление изменениями процесса» — непрерывное усовершенствование производственных процессов, используемых в организации, с целью улучшения качества производимого ПО, повышения производительности и сокращения цикла разработки продукта. Эта группа процессов использует последовательные усовершенствования и новшества, вносимые в рамках групп «Предотвращение дефектов» и «Управление технологическими изменениями», и распространяет их на всю организацию.
3.4. Разделы
Для удобства группы ключевых процессов организованы по разделам, которые представляют собой атрибуты, указывающие, являются ли эффективными, повторяемыми и устойчивыми реализация и установление групп ключевых процессов. Ниже перечислены пять основных разделов.
Обязательства по выполнению
Описывают действия, которые должна выполнить организация, чтобы обеспечить установление и стабильность процесса. Обязательства по выполнению обычно касаются установления организационных политик и поддержки со стороны высшего руководства.
Необходимые предпосылки
Описывают предварительные условия, которые должны выполняться в проекте или организации для компетентного внедрения производственного процесса, обычно касаются ресурсов, организационных структур и требуемого обучения.
Выполняемые операции
В разделе «Выполняемые операции» описаны роли и процедуры, необходимые для внедрения группы ключевых процессов. Выполняемые операции обычно включают в себя создание планов и реализацию процедур, выполнение и отслеживание работ, а также, по мере необходимости, выполнение корректирующих действий.
Измерения и анализ
Раздел «Измерения и анализ» описывает, что необходимо для измерения процесса и анализа результатов измерений. В этом разделе обычно приводятся примеры измерений, с помощью которых можно определить статус и эффективность выполняемых операций.
Проверка внедрения
В разделе «Проверка внедрения» описываются шаги, позволяющие убедиться в том, что операции выполняются в соответствии с установленным процессом. В этот раздел обычно входят проверки и аудиты со стороны руководства и работы по обеспечению качества ПО.
Практики раздела «Выполняемые операции» описывают, что должно быть реализовано для получения продуктивного процесса. Все остальные практики вместе формируют базис, с помощью которого организация может внедрить практики, описанные в разделе «Выполняемые операции».
3.5. Ключевые практики
Каждая группа ключевых процессов выражается ключевыми практиками, выполнение которых способствует достижению целей группы. Ключевые практики описывают инфраструктуру и операции, которые дают наибольший вклад в эффективное внедрение и установление группы ключевых процессов.
Каждая ключевая практика состоит из одного предложения, часто раскрываемое более подробным описанием, в которое могут входить примеры и уточнения. Ключевые практики, иногда называемые ключевыми практиками верхнего уровня, устанавливают основные политики, процедуры и операции для группы ключевых процессов. Компоненты подробного описания часто называются подпрактиками. На рис. 3.3 приводится пример структуры, в которую входит ключевая практика из группы ключевых процессов «Планирование проекта».