Модель зрелости процессов разработки программного обеспечения - Марк Паулк
Шрифт:
Интервал:
Закладка:
Группа обучения
Состоит из сотрудников (руководителей и технических специалистов), отвечающих за координацию и проведение учебных мероприятий организации. Эта группа обычно готовит и проводит большинство учебных курсов и координирует использование других средств обучения.
7.4.3. Независимость и организационная структура
Организация должна следить за корректностью интерпретации и выполнения ключевых практик, реализующих концепцию независимости. Это имеет особенно большое значение для небольших проектов и организаций. Если технические или организационные пристрастия могут повлиять на качество продукта или проектные риски, ключевые практики рекомендуют использовать концепцию независимости. Два примера подобных практик:
Группа обеспечения качества (SQA) имеет канал отчетности перед старшим руководством, который независим от менеджера проекта, группы разработки ПО и других групп, связанных с разработкой (обязательство 1.2 из раздела «Обеспечение качества ПО»).
Системные и приемочные тестовые сценарии и процедуры планируются и готовятся группой тестирования, которая независима от разработчиков ПО (действие 7.3 из раздела «Инженерия разработки программного продукта»).
Необходимость независимого системного и приемочного тестирования обусловлена техническими факторами. Эта независимость гарантирует, что сотрудники группы тестирования не подвергнутся влиянию решений, принятых разработчиками или специалистами по технической поддержке ПО при его проектировании и реализации.
Независимость группы обеспечения качества диктуется тем, что график и бюджет проекта не должны влиять на работу членов этой группы. Отсутствие организационной независимости может значительно усложнить обеспечение эффективной оперативной независимости. Например, сотрудник, подотчетный менеджеру проекта, может быть вынужден прервать тестирование несмотря на существование серьезных проблем с совместимостью продукта.
Организации должны определить такую организационную структуру, которая поддерживала бы независимость операций, подобных обеспечению качества, в контексте своих стратегических бизнес-целей и бизнес-среды.
Независимость должна:
обеспечивать сотрудникам группы обеспечения качества организационную свободу, позволяющую им быть «глазами и ушами» старшего руководства проекта;
исключить вынесение оценки работы сотрудников группы обеспечения качества со стороны руководства того проекта, о котором они подают отчет;
обеспечить уверенность старшего руководства в объективности получаемых отчетов о производственном процессе и продуктах проекта.
Поскольку ключевые практики допускают различные трактовки критериев независимости, организация должна получить профессиональную оценку их соответствия целям группы ключевых процессов.
7.5. Применение профессиональной оценки
Чтобы обеспечить полный набор принципов, применяемых к самым различным ситуациям, в некоторых ключевых практиках изначально заложена возможность гибкой трактовки. В ключевых практиках используются такие размытые фразы, как «заинтересованные группы», «по обстановке» или «по мере необходимости». Значение таких нечетких терминов в ключевых практиках обычно уточняется различными примерами, приводимыми, по крайней мере, при первом употреблении термина. Эти фразы могут иметь различные значения для разных организаций, для разных проектов внутри одной организации или для одного проекта в различные моменты его жизненного цикла. Для каждого проекта или организации смысл этих фраз должен быть уточнен в соответствии с конкретной ситуацией.
Уточнение этих фраз требует от организации учета общего контекста их использования. При этом встает вопрос соответствия конкретной интерпретации одной или нескольких фраз целям группы ключевых процессов. Ответ на этот вопрос можно дать лишь с помощью профессиональной оценки.
Интерпретация ключевых практик и их значения для целей группы ключевых процессов также должна проводиться путем профессиональной оценки. Как правило, группа ключевых процессов описывает фундаментальный набор действий, которые должны выполняться любыми разрабатывающими организациями вне зависимости от их размера или их продукции. Однако ключевые практики СММ должны интерпретироваться в контексте бизнес-среды и конкретных условий организации. Такая интерпретация должна основываться на хорошем знании СММ, самой организации и ее проектов. Эту интерпретацию можно структурировать с помощью содержания целей групп ключевых процессов. Если реализация групп ключевых процессов отвечает их целям, но существенно отличается от ключевых практик, причины такой интерпретации должны быть документально обоснованы. Документальное обоснование поможет оценивающим группам понять, почему определенные практики реализованы тем или иным способом.
Применение профессиональной оценки ведет к вопросу об адекватном качестве производственного процесса. Модель СММ не выдвигает требований к такой адекватности, хотя ею устанавливаются минимальные критерии для «рационального» процесса во многих средах разработки ПО. Цель управления процессами заключается в установлении процессов, способных стать фундаментом для систематического усовершенствования на основе бизнес-потребностей организации.
Каковы же критерии «рационального» производственного процесса? Рациональный процесс должен эффективно наращивать производственный потенциал организации и удовлетворять большинству требований к определенному процессу. Более конкретно — он должен быть проверен на практике, документирован, обязателен, изучен, количественно оценен и иметь возможности для усовершенствования.
Может ли считаться рациональным установленный организацией процесс оценки, основанный на выборе случайных значений? Конечно, этот процесс можно документировать, а затем строго ему следовать. Некоторые могут даже утверждать, что он способен быть таким же реалистичным, как и многие другие методы оценки. Однако большинство профессиональных разработчиков не приемлет «кидание костей» в качестве рационального процесса оценки. Поскольку этот метод подчиняется лишь законам теории вероятностей, его нельзя усовершенствовать.
Насколько далеко ушло от способа «кидания костей» документирование процесса по методу «пойти и спросить Михалыча»? Этот метод может быть очень хорош для оценки. Он может быть даже последователен и воспроизводим, пока Михалыч рядом. Однако он не удовлетворяет нашим критериям, поскольку его не могут изучить другие сотрудники. Этот процесс ориентирован на личность и не может быть воспроизведен без Михалыча, поэтому он не способствует развитию производственного потенциала организации.
Выполнение оценки с использованием каких-либо вариантов метода Дельфи (метода, в котором эксперты в соответствующей области обсуждают поставленные проблемы и вырабатывают согласованные рекомендации по их решению) обычно считается рациональным процессом. Несмотря на то, что метод Дельфи ориентирован на личности, основанная на нем оценка объема удовлетворяет критериям рационального и эффективного процесса, а такая структурированная методика способствует развитию потенциала организации.
Основной смысл профессиональной оценки состоит в выявлении подобных различий. Формальное соответствие целям и адекватное качество бывает трудно отличить друг от друга. Цели подытоживают ключевые практики, которые, в свою очередь, описывают рациональный производственный процесс. Однако рациональность процесса не гарантирует его эффективности в достижении своих целей. Существует множество факторов, способных повлиять на успех организации и проекта. Например, успешный проект создания продукта, который никто не захочет купить, является провалом в коммерческом мире.
Атрибуты адекватности могут интерпретироваться лишь в контексте бизнес-среды и конкретных условий проекта и организации. Подобные оценки адекватности могут выполняться организацией только как часть ее цикла непрерывного усовершенствования производственного процесса. При этом нельзя достичь совершенства, а непрерывное усовершенствование процесса никогда не завершается.
ГЛАВА 8. УРОВЕНЬ 2: ПОВТОРЯЕМЫЙ УРОВЕНЬ
8.1. Управление требованиями
Группа ключевых процессов для уровня 2: повторяемый уровень.
Цель управления требованиями состоит в том, чтобы заказчик и разработчики смогли полностью согласовать требования, выдвигаемые к проекту разработки ПО.
Управление требованиями включает в себя достижение и поддержку соглашения с заказчиком по требованиям к проекту разработки. Это соглашение носит название «системных требований, установленных для ПО». Под «заказчиком» может подразумеваться группа системного проектирования, группа маркетинга, какая-либо другая внутренняя организация или внешний заказчик. Данное соглашение охватывает как технические, так и прочие требования (например, сроки поставки). Это соглашение формирует основу для оценки затрат, планирования, выполнения и отслеживания производства работ по проекту в течение всего жизненного цикла ПО.