Примеры промежуточных программных продуктов включают в себя планы, оценки, данные по фактической работе, документацию по корректирующим действиям и документы требований. Те из них, которые поставляются заказчику или конечному пользователю, носят название программных продуктов.
Представляют собой полный набор (или любой из его элементов) компьютерных программ, процедур, соответствующей документации и данных, который предназначен для поставки заказчику или конечному пользователю [IEEESTD-610].
Все программные продукты являются также промежуточными продуктами разработки. Однако промежуточный продукт разработки, не предназначенный для поставки заказчику или конечному пользователю, не является программным продуктом.
7.3.4. Взаимосвязь между производственным процессом проекта и планом разработки ПО
Описание производственного процесса проекта бывает, как правило, недостаточно конкретным для непосредственного выполнения. Хотя описание обычно определяет такие понятия, как роли (т. е. исполнители задач) и необходимые для выполнения задачи виды промежуточных программных продуктов, оно не определяет ни конкретных исполнителей ролей, ни конкретные создаваемые промежуточные продукты, ни график выполнения задач и действий.
Проектный план разработки ПО (либо в виде отдельного документа, либо в виде совокупности планов, совместно называемых планом разработки ПО) связывает производственный процесс проекта (что и как должно быть сделано) с конкретным выполнением проекта (например, кто из сотрудников должен создать какой промежуточный программный продукт и по какому графику). Комбинация производственного процесса проекта и плана разработки ПО дает возможность действительного выполнения процесса.
7.3.5. Жизненные циклы и CMM
Ключевые практики не ограничивают выбор жизненного цикла ПО. Те пользователи, которые активно использовали какой-либо определенный жизненный цикл ПО, могут быть более склонны к восприятию элементов именно этого цикла в организации и структуре ключевых практик. Однако использование ключевых практик не подразумевает ни стимулирование, ни ограничение применения какого-либо конкретного жизненного цикла.
Термин «стадия» используется для определенной части проекта разработки, но не должен увязываться с каким-либо конкретным жизненным циклом ПО. В ключевых практиках этот термин может означать строго последовательные или перекрывающиеся и итеративные стадии.
Ключевые практики не ограничивают и не требуют применения конкретных технологий разработки ПО, таких как создание прототипов, объектно-ориентированное проектирование, или повторное использование требований к ПО, его архитектуры, кода или других элементов.
7.3.7. Документация и CMM
Ключевые практики описывают несколько документов, связанных с процессом, каждый из которых охватывает определенные области содержания. Ключевые практики не требуют соответствия «один к одному» между этими документами и реальными промежуточными продуктами организации или проекта. Также не подразумевается подобное соответствие и с документами, определенными военным ведомством, или такими стандартами, как DOD-STD-2167A или IEEE. Ключевые практики требуют лишь того, чтобы применимое содержание этих документов входило в документированные промежуточные продукты организации или проекта.
В ракурсе структуры документа содержимое документа, на который ссылаются ключевые практики, может быть частью большего документа. Например, в план разработки ПО организации могут входить наиболее существенные части плана управления рисками.
Альтернативным образом содержимое документа, упоминаемого в ключевых практиках, может распределяться по набору документов, отличному от указанного в практиках набора. Например, в проекте могут быть разработаны три документа — план разработки ПО, план управления ПО и иерархическая последовательность проектных работ, — соответствующие требованиям практик в отношении управления рисками проекта, обеспечения качества и плана разработки ПО.
7.3.8. Сбор и анализ данных процесса
Ключевые практики для сбора и анализа данных процесса развиваются по уровням зрелости.
На уровне 2 данные в основном относятся к размеру промежуточных продуктов проекта, объему работ и графику. Эта информация идентифицируется, собирается и хранится отдельно по каждому проекту. Проекты могут совместно использовать данные с помощью неформальных механизмов коммуникации.
На уровне 3 каждый проект имеет свой производственный процесс, полученный путем адаптации СППО. Данные, связанные с этим процессом, собираются и хранятся в базе данных ППО. Собранные данные могут различаться по каждому проекту, но они должны быть четко определены внутри базы данных ППО.
На уровне 4 организация определяет на основании СППО стандартный набор измерений. Все проекты собирают этот стандартный набор данных измерений, а также других специфических проектных данных и сохраняют их в базе данных ППО. Данные используются в проектах для их понимания на количественном уровне и стабилизации выполнения проектных производственных процессов. Эта информация также используется организацией для установления базовой линии для СППО.
На уровне 5 данные используются для выбора областей возможного усовершенствования технологии и процессов, планирования этих усовершенствований и оценки их влияния на продуктивность производственного процесса организации.
7.4. Организационная структура и роли
Хотя модель СММ независима от конкретных организационных структур и моделей, практики СММ необходимо выражать единообразно, используя в отношении организационных структур и ролей терминологию, которая может отличаться от используемой в конкретной организации. Следующие разделы описывают различные концепции, которые касаются организаций, проектов, ролей и необходимы для интерпретации ключевых практик СММ.