В
ноябре 1986 года американский институт Software Engineering Institute
(SEI) совместно с Mitre Corporation начали разработку обзора зрелости
процессов разработки программного обеспечения, который был предназначен
для помощи в улучшении их внутренних процессов.
Разработка
такого обзора была вызвана запросом американского федерального правительства
на предоставление метода оценки субподрядчиков для разработки ПО.
Реальная же проблема состояла в неспособности управлять большими
проектами. Во многих компаниях проекты выполнялись со значительным
опозданием и с превышением запланированного бюджета. Необходимо
было найти решение данной проблемы.
В
сентябре 1987 года SEI выпустил краткий обзор процессов разработки
ПО с описанием их уровней зрелости, а также опросник, предназначавшийся
для выявления областей в компании, в которых были необходимы улучшения.
Однако, большинство компаний рассматривало данный опросник в качестве
готовой модели, в следствие чего через 4 года вопросник был преобразован
в реальную модель, Capability Maturity Model for Software (CMM).
Первая версия СММ (Version 1.0), вышедшая в 1991 году, в 1992 году
была пересмотрена участниками рабочей встречи, в которой принимали
участие около 200 специалистов в области ПО, и членами общества
разработчиков.
В
результате был выпущен стандарт CMM, Version 1.1, который до настоящего
времени активно используется во всем мире.
Рис.
1. Глобальное влияние использования СММ
Причины
такого интереса к СММ понятны. Несмотря на то, что и сами разработчики
ПО, и их руководство зачастую очень хорошо знают свои постоянные
проблемы, они не могут прийти к единому мнению о том, какие изменения
необходимы компании в первую очередь. Без выработки единой стратегии
проведения улучшений руководство не может найти взаимопонимания
со своими сотрудниками относительно наиболее приоритетных задач
по улучшению. Для достижения максимального результата от усилий,
потраченных на улучшение процессов, необходимо иметь поэтапную стратегию
развития, которая позволит улучшать зрелость процессов разработки
постепенно, эволюционным путем.
Постоянное
улучшение процессов базируется на постепенном взращивании культуры
компании, а не на проведении революционных инноваций. В СММ представлена
схема такого постепенного улучшения, разделенная по 5 уровням зрелости
процессов. Эти 5 уровней представляют собой шкалу для оценки уровня
зрелости процессов разработки ПО в компании и для измерения их параметров.
Рис.
2. Принцип последовательного повышения уровня зрелости: возможности
развития организации
Приведем
основные характеристики каждого уровня:
- Начальный
уровень - Процесс разработки носит хаотический характер. Определены
лишь немногие из процессов и успех проектов зависит от конкретных
исполнителей.
- Повторяемость
- Установлены основные процессы управления проектами: отслеживание
затрат, графика работ и функциональности. Упорядочены некоторые
процессы, необходимые для того, чтобы повторить предыдущие достижения
на аналогичных проектах (проектах с аналогичными приложениями).
- Разработка
- Процессы разработки ПО и управления проектами описаны и внедрены
в единую систему процессов компании. Во всех проектах используется
стандартный для организации процесс разработки и поддержки ПО, адаптированный
под конкретный проект.
- Контроль
- Собираются детальные количественные данные по функционированию
процессов разработки и качеству конечного продукта. Анализируется
значение и динамика этих данных.
- Улучшение
качества - Постоянное улучшение процессов основывается на количественных
данных по процессам и на пробном внедрении новых идей и технологий.
Данный материал был перепечатан
с сайта