Модель зрелости процессов разработки ПО

         

Необходимые предпосылки


Описывают предварительные условия, которые должны выполняться в проекте или организации для компетентного внедрения производственного процесса, обычно касаются ресурсов, организационных структур и требуемого обучения.


Предпосылка 1 Для каждого проекта устанавливается сфера ответственности за анализ системных требований и их отнесение к оборудованию, ПО и другим компонентам системы.

Анализ и отнесение системных требований не входит в сферу ответственности группы разработчиков, но является предпосылкой для их работы.

Эта сфера ответственности включает в себя следующее:

1. Управление системными требованиями, их документирование и отнесение к соответствующим элементам в течение всего проекта. 

2. Влияние на изменения системных требований и их отнесение к элементам проекта.

Предпосылка 2 Установленные требования должны быть документированы.

К установленным требованиям относятся следующие:

1. Требования нетехнического характера (т. е. соглашения, условия и договорные сроки), которые определяют операции проекта разработки ПО либо влияют на них.

Примеры соглашений, условий и договорных сроков: поставляемые продукты, сроки поставки, этапы проекта.

2. Технические требования к ПО. Примеры технических требований:

пользовательские, операторские, вспомогательные функции или функции интеграции; требования к рабочим характеристикам; проектные ограничения; язык программирования; требования к интерфейсу.

3. Критерии приемки, по которым будет оценено соответствие программных продуктов установленным требованиям.

Предпосылка 3 На управление установленными требованиями должны быть выделены соответствующие ресурсы и финансирование.

1. Для управления установленными требованиями должны быть назначены сотрудники, обладающие опытом и квалификацией как в прикладной области, так и в области разработки ПО. 



2. Действия по управлению требованиями должны быть обеспечены вспомогательными инструментальными средствами. 

Примеры вспомогательных инструментальных средств:

  • электронные таблицы, 
  • инструменты управления конфигурацией, 
  • инструментарий для отслеживания изменений, 
  • инструментарий для управления тестированием.
  • Предпосылка 4 Члены группы разработки ПО и других смежных групп должны пройти соответствующее обучение для выполнения своих задач по управлению требованиями.

    Примеры тем учебных занятий: 

  • используемые в проекте методы, стандарты и процедуры; 
  • предметная область.



  • Предпосылка 1 Для проекта разработки должен быть подготовлен и утвержден документ технического задания.

    1. Техническое задание раскрывает следующие вопросы:

  •     объем работ,
  •     технические цели и задачи,
  •     определение заказчиков и конечных пользователей,
  •     применяемые стандарты,
  •     распределение обязанностей,
  •     ограничения и цели по затратам и срокам,
  •     зависимость проекта от других организаций,
  •     ограничения и цели по использованию ресурсов,
  •     другие ограничения и цели при разработке и/или сопровождению.
  • В этих практиках термином «конечные пользователи» называются конечные пользователи, определенные заказчиком, либо их представители. Примеры других организаций: заказчик, субподрядчик, партнеры совместного предприятия.

    2. Техническое задание рассматривается:

  •     менеджером проекта,
  •     производственным менеджером проекта,
  •     другими производственными менеджерами,
  •     другими задействованными группами.
  • 3. Документ технического задания должен быть управляемым и контролируемым.

    Предпосылка 2 Обязанности по созданию плана разработки ПО должны быть распределены.

    1. Производственный менеджер проекта непосредственно или косвенным образом координирует планирование проекта разработки. 

    2. Сферы ответственности за промежуточные программные продукты и операции распределяются и назначаются производственным менеджерам отслеживаемым и учитываемым образом.

    Примеры промежуточных программных продуктов: 

  • передаваемые, при необходимости, внешнему заказчику или конечным пользователям; 
  • используемые другими инженерными группами; 
  • основные промежуточные продукты для внутреннего использования группой разработки.
  • Предпосылка 3 Процесс подготовки плана проекта должен быть обеспечен соответствующими ресурсами и финансированием.

    1. Подготовкой плана разработки ПО должны заниматься опытные (по возможности) сотрудники, хорошо знающие предметную область планируемого проекта.

    2. Процесс подготовки плана проекта обеспечивается вспомогательными инструментальными средствами.

    Примеры вспомогательных инструментальных средств: 

  • электронные таблицы, 
  • модели получения оценочных результатов, 
  • программы производственного и календарного планирования проекта.
  • Предпосылка 4 Производственные менеджеры, инженеры-разработчики и другие сотрудники, участвующие в планировании проекта, должны изучить процедуры оценочного расчета для ПО и планирования, соответствующие их сферам ответственности.




    Предпосылка 1 План разработки ПО должен быть документирован и утвержден.

    Практики, связанные с планом разработки ПО, содержатся в описании Операций №6 и №7 группы ключевых процессов «Планирование проекта».

    Предпосылка 2 Менеджер проекта назначает конкретных сотрудников, ответственных за промежуточные программные продукты и производственные операции.

    Распределяемые сферы ответственности охватывают следующие аспекты:

    1. Разрабатываемые промежуточные программные продукты или предоставляемые услуги.

    2. Объемы работ и затрат, необходимые для выполнения производственных операций. 

    3. График выполнения производственных операций. 

    4. Бюджет производственных операций.

    Предпосылка 3 Процесс отслеживания хода проекта должен быть обеспечен соответствующими ресурсами и финансированием.

    1. На производственных менеджеров и ведущих специалистов возлагаются конкретные обязанности по отслеживанию хода проекта. 

    2. Отслеживание хода проекта обеспечивается вспомогательными инструментальными средствами. 

    Примеры вспомогательных инструментальных средств:

  • электронные таблицы,
  • программы производственного и календарного планирования проекта.
  • Предпосылка 4 Производственные менеджеры должны пройти обучение управлению техническими и кадровыми аспектами проекта разработки.

    Примеры тем учебных занятий: управление техническими аспектами проектов; отслеживание и контроль объема, трудоемкости, затрат и графика разработки; управление персоналом.

    Предпосылка 5 Линейные менеджеры должны получить ориентацию в технических аспектах проекта разработки.

    Примеры ориентирования: 

  • инженерные стандарты и процедуры проекта разработки; 
  • предметная область проекта.



  • Предпосылка 1 Процесс выбора субподрядчика и управления субподрядом должен быть обеспечен соответствующими ресурсами и финансированием.

    1. Производственным менеджерам и другим сотрудникам должны быть назначены конкретные обязанности по управлению субподрядом.

    2. Работы по управлению субподрядом должны быть обеспечены вспомогательными инструментальными средствами.

    Примеры вспомогательных инструментальных средств:

  • модели получения оценочных результатов,
  • электронные таблицы,
  • программы управления проектом и его календарного планирования.
  • Предпосылка 2 Производственные менеджеры и другие сотрудники, участвующие в заключении договора о субподряде и управлении им, должны пройти обучение выполнению этих операций.

    Примеры тем учебных занятий:

  • подготовка и планирование субконтракта, 
  • оценка производственных возможностей потенциального субподрядчика, 
  • оценка сметных предположений и планов потенциального субподрядчика, 
  • выбор субподрядчика, 
  • управление субподрядом.
  • Предпосылка 3 Производственные менеджеры и другие сотрудники, участвующие в управлении субподрядом, должны получить ориентацию в технических аспектах субподрядных работ.

    Примеры ориентирования: 

  • предметная область, 
  • применяемые технологии разработки, используемые инструменты разработки, 
  • используемые методики, 
  • применяемые стандарты, 
  • используемые процедуры.



  • Предпосылка 1 Необходимо наличие группы, ответственной за координацию и реализацию в проекте процесса обеспечения качества ПО (т. е. группы SQA).

    Группа представляет собой совокупность отделов, менеджеров и сотрудников, которые несут ответственность за набор задач или операций. Состав группы может варьироваться от одного или нескольких совместителей из различных отделов до нескольких сотрудников, занятых этой деятельностью полный рабочий день. При формировании группы принимаются во внимание объем служебных обязанностей, объем проекта, организационная структура и культура взаимоотношений. Некоторые группы, такие как группа обеспечения качества ПО, концентрируются на деятельности на уровне проектов, другие же, как группа инженерии процессов производства, – на деятельности общекорпоративного уровня.

    Предпосылка 2 Работы по обеспечению качества должны быть обеспечены соответствующими ресурсами и финансированием.

    1. Для руководства специфической деятельностью по обеспечению качества в проекте назначается специальный менеджер.

    2. Должен быть назначен руководитель высшего звена, обладающий опытом в области обеспечения качества и полномочиями для осуществления соответствующего надзора, который будет нести ответственность за рассмотрение вопросов о несоответствии техническим условиям и принятие соответствующих мер.

  • Все менеджеры, входящие в цепь отчетности по обеспечению качества перед руководителем высшего звена, должны знать свою роль, сферу ответственности и полномочия в этой области.
  • 3. Работы по обеспечению качества обеспечиваются вспомогательными инструментальными средствами.

    Примеры вспомогательных инструментальных средств:

  • рабочие станции,
  • СУБД,
  • электронные таблицы,
  • средства проведения аудита.
  • Предпосылка 3 Члены группы обеспечения качества должны пройти обучение для выполнения своих задач.

    Примеры тем учебных занятий: навыки и практические методы разработки ПО; роли и сферы ответственности группы разработки

    ПО и других смежных групп; стандарты, процедуры и методы, применяемые в проекте разработки ПО; предметная область проекта; задачи, процедуры и методы обеспечения качества; участие группы обеспечения качества в работах по проекту; эффективное использование методов и инструментов обеспечения качества; межличностное общение.

    Предпосылка 4 Участники проекта должны получить ориентацию относительно роли, сферы ответственности, полномочий и значения группы обеспечения качества.




    Предпосылка 1 Должна существовать или быть создана комиссия по управлению базовыми линиями проекта (т. е. комиссия по управлению конфигурацией ПО, Software Configuration Control Board, SCCB).

    Задачи комиссии SCCB:

    1. Санкционирование создания базовых линий, выявление конфигураций и их элементов.

    2. Представление интересов менеджера проекта и всех групп, которых могут затронуть изменения базовых линий.

    Примеры групп, задействованных в проекте:

  • обеспечения качества аппаратного обеспечения,
  • управления конфигурацией аппаратного обеспечения,
  • проектирования аппаратного обеспечения,
  • производственного проектирования,
  • разработки ПО (включая все подгруппы, например, проектирования ПО),
  • системного проектирования,
  • системного тестирования,
  • обеспечения качества ПО,
  • управления конфигурацией ПО,
  • управления договорами,
  • управления документацией.
  • 3. Ревизия и санкционирование изменений базовых линий.

    4. Санкционирование создания продуктов из элементов библиотеки базовых линий.

    Предпосылка 2 Необходимо наличие группы, ответственной за координацию и реализацию управления конфигурацией в рамках проекта (группа SCM).

    Группа представляет собой совокупность отделов, менеджеров и сотрудников, которые несут ответственность за набор задач или операций. Состав группы может варьироваться от одного или нескольких совместителей из различных отделов до нескольких сотрудников, занятых этой деятельностью полный рабочий день. При формировании группы принимаются во внимание объем служебных обязанностей, объем проекта, организационная структура и культура взаимоотношений. Некоторые группы, такие как группа обеспечения качества ПО, концентрируются на деятельности на уровне проектов, другие же, как группа инженерии процессов производства, – на деятельности общекорпоративного уровня.

    Группа управления конфигурацией ПО координирует или реализует следующие задачи:

    1. Создание библиотеки базовых линий проекта и управление ею.

    2. Разработка, сопровождение и распространение планов, стандартов и процедур по управлению конфигурацией.




    Предпосылка 1 Необходимо наличие группы, ответственной за работы по координации ППО.

    Группа представляет собой совокупность отделов, менеджеров и сотрудников, которые несут ответственность за набор задач или операций. Состав группы может варьироваться от одного или нескольких совместителей из различных отделов до нескольких сотрудников, занятых этой деятельностью полный рабочий день. При формировании группы принимаются соглашения о назначении задач или операций, объему проекта, организационной структуре и культуре взаимоотношений. Некоторые группы, такие как группа обеспечения качества ПО, концентрируются на проектных работах, другие же, как группа инженерии производственного процесса, – на общекорпоративных работах.

    1. Ядро группы должно, по возможности, состоять из профессиональных разработчиков, занимающихся задачами группы полный рабочий день. Вспомогательные операции могут выполняться совместителями.

    Наиболее общим примером такой группы является группа инженерии производственного процесса (SEPG).

    2. Состав группы должен отражать различные области, связанные с разработкой ПО.

    Примеры инженерных областей, связанных с разработкой ПО:

  • анализ требований к ПО, 
  • проектирование архитектуры ПО, 
  • составление кода, 
  • тестирование ПО, 
  • управление конфигурацией ПО, 
  • обеспечение качества ПО.
  • Предпосылка 2 Работы по координации ППО должны быть обеспечены соответствующими ресурсами и финансированием.

    1. Группа должна поддерживаться опытными сотрудниками, компетентными в специализированных областях.

    Примеры специализированных областей:

  • повторное использование ПО,
  • технология автоматизированной разработки ПО (CASE),
  • измерения,
  • разработка учебных курсов.
  • 2. Работы по координации ППО обеспечиваются вспомогательными инструментальными средствами.

    Примеры вспомогательных инструментальных средств:

  • инструменты статистического анализа,
  • инструменты для подготовки публикаций,
  • системы управления базами данных,
  • средства моделирования процессов.
  • Предпосылка 3 Члены группы, ответственной за работы по координации ППО, должны пройти необходимое обучение для выполнения своих задач.

    Примеры тем учебных занятий:

  • практические методы разработки ПО;
  • методы контролирования процесса;
  • управление изменениями в рамках организации;
  • планирование, управление и мониторинг производственного процесса;
  • внедрение новых технологий.
  • См. группу ключевых процессов «Программа обучения».

    Предпосылка 4 Члены группы разработки ПО и других смежных групп должны получить ориентацию относительно работ по координации ППО и своих ролей в этих работах.

    См. группу ключевых процессов «Программа обучения».




    Предпосылка 1 Работы по разработке и сопровождению СППО и связанных с ним основных средств должны быть обеспечены соответствующими ресурсами и финансированием.

    1. Разработка и сопровождение СППО и связанных с ним основных средств должны выполняться или координироваться группой, ответственной за работы по координации ППО (например, группой инженерии производственного процесса).

    Практики, связанные с группой, ответственной за работы по координации ППО, содержатся в группе ключевых процессов «Координация производственного процесса организации».

    2. Работы по разработке и сопровождению производственного процесса обеспечиваются вспомогательными инструментальными средствами.

    Примеры вспомогательных инструментальных средств:

  • инструментарий для подготовки текстов, 
  • системы управления базами данных, 
  • средства моделирования процессов.
  • Предпосылка 2 Сотрудники, занятые разработкой и сопровождением СППО и связанных с ним основных средств, должны пройти необходимое обучение для выполнения этих работ.

    Примеры тем учебных занятий: 

  • практика и методы разработки ПО, 
  • методы анализа и документирования процессов, 
  • моделирование процессов.
  • См. группу ключевых процессов «Программа обучения».




    Предпосылка 1 Необходимо наличие группы, ответственной за решение вопросов обучения в рамках организации.

    В состав группы обучения могут входить преподаватели из числа сотрудников организации, занятые полный или неполный рабочий день, а также сотрудники, привлеченные из внешних источников.

    Группа представляет собой совокупность отделов, менеджеров и сотрудников, которые несут ответственность за набор задач или операций. Состав группы может варьироваться от одного или нескольких совместителей из различных отделов до нескольких сотрудников, занятых этой деятельностью полный рабочий день. При формировании группы принимаются соглашения о назначении задач или операций, объему проекта, организационной структуре и культуре взаимоотношений. Некоторые группы, такие как группа обеспечения качества ПО, концентрируются на проектных работах, другие же, как группа инженерии производственного процесса, – на общекорпоративных работах.

    Предпосылка 2 Реализация программы обучения должна быть обеспечена соответствующими ресурсами и финансированием.

    Примеры элементов программы обучения:

  • план организации по проведению обучения,
  • учебные материалы,
  • самостоятельная разработка учебных материалов или получение их из внешних источников,
  • проведение обучения,
  • средства обучения,
  • оценка обучения,
  • ведение данных по обучению.
  • 1. Должен быть назначен менеджер, ответственный за реализацию программы обучения в рамках организации.

    2. Программа обучения обеспечивается вспомогательными инструментальными средствами.

    Примеры вспомогательных инструментальных средств:

  • рабочие станции,
  • средства разработки учебного материала,
  • системы управления базами данных,
  • ПО для разработки презентационных материалов.
  • 3. Проведение обучения обеспечивается соответствующими помещениями.

    Чтобы устранить перерывы учебного процесса, помещения для проведения семинаров должны быть отделены от рабочей среды обучающихся.

    По мере возможности обучение проводится в условиях, максимально приближенных к реальным, и включает в себя моделирование реальных рабочих ситуаций.

    Предпосылка 3 Члены группы обучения должны обладать навыками и знаниями, необходимыми для выполнения их задач по обучению.

    Примеры способов получения этих навыков и знаний:

  • обучение методам преподавания,
  • курсы повышения квалификации в предметной области.
  • Предпосылка 4 Производственные менеджеры должны получить ориентацию по программе обучения.




    Предпосылка 1 Процесс управления проектом с использованием СППО должен быть обеспечен соответствующими ресурсами и финансированием.

    Практики, связанные с обеспечением ресурсами и финансированием работ по планированию проекта, отслеживанию его хода и контролю над ним, содержатся в описании Предпосылки №3 группы ключевых процессов «Планирование проекта» и Предпосылки №3 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».

    Предпосылка 2 Сотрудники, ответственные за разработку производственного процесса проекта, должны пройти необходимое обучение методам адаптации СППО и использования связанных с ним основных средств.

    Примеры тем учебных занятий:

  • использование базы данных ППО,
  • использование стандартного производственного процесса организации,
  • использование инструкций и критериев для адаптации СППО к потребностям конкретного проекта.
  • См. группу ключевых процессов «Программа обучения».

    Предпосылка 3 Производственные менеджеры должны пройти необходимое обучение управлению техническими, административными и кадровыми аспектами проекта, построенного на определенном производственном процессе.

    Практики, связанные с обучением планированию проекта, отслеживанию его хода и контролю над ним, содержатся в описании Предпосылки №4 группы ключевых процессов «Планирование проекта» и Предпосылки №4 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».

    Примеры тем учебных занятий:

  • методы и процедуры оценочных расчетов, планирования и отслеживания разработки, основанные на производственном процессе проекта;
  • методы и процедуры выявления рисков разработки, управления ими и распространения соответствующей информации.
  • См. группу ключевых процессов «Программа обучения».




    Предпосылка 1 Выполнение задач разработки ПО должно быть обеспечено соответствующими ресурсами и финансированием.

    1. Задачи разработки должны выполняться квалифицированными сотрудниками.

    В число задач входят:

  • анализ требований к ПО,
  • проектирование архитектуры ПО,
  • составление кода,
  • тестирование,
  • поддержка ПО.
  • 2. Задачи разработки обеспечиваются вспомогательными инструментальными средствами.

    Примеры общих вспомогательных инструментальных средств:

  • рабочие станции,
  • системы управления базами данных,
  • справочные системы,
  • графические инструменты,
  • средства создания интерактивной документации,
  • текстовые процессоры.
  • Примеры вспомогательных инструментальных средств для анализа требований к ПО:

  • инструменты для отслеживания требований,
  • инструменты для создания спецификаций,
  • инструменты для создания прототипов,
  • средства моделирования,
  • средства эмулирования.
  • Примеры вспомогательных инструментальных средств для проектирования архитектуры ПО:

  • инструменты для создания спецификаций,
  • инструменты для создания прототипов,
  • средства моделирования,
  • языки описания архитектуры.
  • Примеры вспомогательных инструментальных средств для кодирования:

  • редакторы,
  • компиляторы,
  • генераторы перекрестных ссылок,
  • средства печати.
  • Примеры вспомогательных инструментальных средств для тестирования ПО:

  • инструменты управления тестированием,
  • генераторы тестов,
  • тестовые драйверы,
  • тестовые профайлеры,
  • символьные отладчики,
  • анализаторы тестового покрытия.
  • Предпосылка 2 Технический персонал группы разработки ПО должен пройти необходимое обучение для выполнения своих задач.

    Технический персонал группы разработки ПО должен пройти обучение в предметной области проекта.

    Примеры обучения для выполнения анализа требований к ПО:

  • принципы анализа требований к ПО;
  • существующие требования к имеющемуся и поддерживаемому ПО;
  • навыки, необходимые для сбора информации от конечных пользователей и экспертов в предметной области в целях установления требований к ПО (т. е. выявление требований);



  • Предпосылка 1 Координация действий по разработке ПО между различными инженерными группами должна быть обеспечена соответствующими ресурсами и финансированием.

    Предпосылка 2 Вспомогательные средства, используемые различными инженерными группами, должны быть совместимы и обеспечивать эффективный обмен информацией и координацию действий.

    Примеры вспомогательных инструментальных средств, которые должны быть совместимыми:

  • текстовые процессоры,
  • системы управления базами данных,
  • графические инструменты,
  • электронные таблицы,
  • средства для отслеживания проблем,
  • инструменты управления библиотекой.
  • Предпосылка 3 Все менеджеры организации должны пройти необходимое обучение принципам коллективной работы.

    Примеры тем учебных занятий:

  • формирование групп;
  • управление группами;
  • установление, стимулирование коллективной работы и содействие ей;
  • групповая динамика.
  • См. группу ключевых процессов «Программа обучения».

    Предпосылка 4 Все ведущие специалисты каждой инженерной группы должны получить ориентацию в процессах, методах и стандартах, используемых в остальных инженерных группах.

    См. группу ключевых процессов «Программа обучения».

    Предпосылка 5 Члены инженерных групп должны получить ориентацию в принципах коллективной работы.

    См. группу ключевых процессов «Программа обучения».




    Предпосылка 1 Проведение экспертных оценок каждого проверяемого промежуточного программного продукта должно быть обеспечено соответствующими ресурсами и финансированием.

    Ресурсы и финансирование предоставляются для выполнения следующих операций:

    1. Подготовка и распространение материалов экспертной оценки.

    2. Руководство проведением экспертной оценки.

    3. Рассмотрение материалов.

    4. Участие сотрудников в экспертной оценке и в любых последующих проверках, которые могут потребоваться на основании дефектов, выявленных в ходе экспертной оценки.

    5. Отслеживание доработки промежуточного программного продукта, устраняющей дефекты, выявленные в ходе экспертной оценки.

    6. Сбор сведений и составление отчетов по результатам экспертных оценок.

    Предпосылка 2 Ведущие эксперты должны пройти необходимое обучение руководству экспертными оценками.

    Примеры тем учебных занятий:

  • цели, принципы и методы экспертных оценок;
  • планирование и организация экспертной оценки;
  • критерии готовности к экспертной оценке и ее завершения;
  • проведение экспертной оценки;
  • отчетность по результатам экспертной оценки;
  • отслеживание и подтверждение выполнения доработки по результатам экспертной оценки; сбор данных, необходимых для экспертных оценок.
  • См. группу ключевых процессов «Программа обучения».

    Предпосылка 3 Участники экспертных оценок должны пройти необходимое обучение целям, принципам и методам экспертных оценок.

    Примеры тем учебных занятий:

  • типы экспертных оценок (например, проверки требований к ПО, архитектуры ПО, кода и процедур тестирования ПО);
  • цели, принципы и методы экспертных оценок;
  • роли экспертов; определение трудоемкости подготовки и проведения экспертных оценок.
  • См. группу ключевых процессов «Программа обучения».



    Содержание раздела