Скачиваний:
40
Добавлен:
29.01.2021
Размер:
5.08 Mб
Скачать
    1. Характеристика уровней зрелости в модели cmm

Чем выше уровень зрелости данной организации в модели CMM, тем выше вероятность успешного завершения программного проекта в срок, с заданным качеством поставляемого продукта и рамках установленного бюджета. Соответственно, тем выше производительность труда разработчиков и качество поставляемого продукта, и ниже себестоимость разработки и риск неуспеха по причинам, в той или иной мере зависящим от разработчика. Эта сравнительная характеристика уровней зрелости представлена на Рис. 22. В столбце «Структура процесса» схематично представлена структура процесса каждого уровня, а в столбце «Вероятность успеха» дан качественный график распределения вероятности успешного завершения проекта в зависимости от времени, причем вертикальная пунктирная линия означает планируемый срок завершения проекта.

Уровень зрелости

Характерис-тика

Структура процесса

Вероятность успеха

Резуль-таты

5. Опти-мизиру-ющий –

Optimizing

Процесс улучшения встроен в сам процесс разработки

Произ-води-тель-ность и ка-чест-во

4. Управ-ляемый – Managed

Количествен-но / Измеряемый процесс на базе метрик

3. Опреде-ленный – Defined

Качественно / Процесс определен и внедрен

2. Повто-ряемый – Repeatable

Интуитивно / Процесс пред-сказуем и за-висит от от-дельных лиц

1. На-чальный – Initial

Ad hoc / Процесс хаотичный и непредсказу-емый

Рис. 22. Характеристика уровней зрелости в модели CMM

На первом (начальном) уровне явного и внятного процесса разработки просто нет, но это не значит, что в процессе первого уровня нельзя сделать хороший проект. Такие проекты были и некоторые из них получили хорошие результаты. Но их беда в том, что они непредсказуемы. До момента, пока проект не закончился, неизвестно, закончится ли он вообще или нет, а когда закончится, только тогда можно будет узнать результат. Поэтому в столбце «Структура процесса» представлено отсутствие явной структуры, а кривая распределения вероятности успеха говорит о том, что огромная часть проектов заканчивается с большим превышением срока или не заканчивается вообще.

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

Если на втором уровне фазы процесса замкнуты, то на третьем (определенном) уже и они имеют некоторую структуру и управление ими более сложное; оно включает в себя дополнительные элементы, адресующиеся к структурным элементам фаз. Благодаря этому обстоятельству проекты на третьем уровне, как правило, всегда заканчиваются, хотя большинство все же по разным причинам в срок не успевают. Качественное отличие в распределении вероятности успеха на третьем уровне от предыдущего уровня в том, что пик распределения очень близок к планируемому сроку, и практически нет незаконченных проектов.

На четвертом уровне (управляемом) проекты заканчиваются в срок, только есть еще отклонения от цели. Точность планирования зависит от ряда причин, вполне возможно завышение требований или их недооценка. Но зато проекты заканчивается с приемлемым качеством. Как и на предыдущем уровне, внутренние элементы процесса имеют свою структуру, но что важно, управление процессом взаимодействует активно уже и с ними. Если на третьем уровне ведется только наблюдение за фазами разработки и снимаются необходимые метрики процесса для их ретроспективного анализа по окончании проекта, то на четвертом уровне разработчики активно воздействуют на процесс в ходе разработки по результатам регулярного анализа этих метрик.

На пятом (оптимизирующем) уровне пик распределения вероятности очень тонкий, т.е. пятый уровень идеален по части точности планирования. В процесс разработки встроена такая малоизученная вещь, как постоянное самосовершенствование процесса, что схематично представлено в столбце «Структура процесса».

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