МАТЕРИАЛ26.07.02

Руководство по модели качества разработки программного обеспечения СММ (глава 1)

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

Глава 1

1. Основные понятия зрелости процессов разработки ПО

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

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

1.1. Зрелые и незрелые организации-разработчики ПО

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

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

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

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

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

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

Согласно словарю Вебстера, процесс является "системой операций для производства чего-либо ... последовательностью действий, изменений или функций, предназначенных для достижения окончания или результата." Комитет IEEE определяет процесс как "последовательность шагов, выполняемых для достижения заданной цели" [IEEE-STD-610]. Процесс разработки может быть определен как набор операций, методов, практик и преобразований, используемых разработчиками для создания и сопровождения ПО и связанных с ним продуктов (например, планов выполнения проекта, проектных документов, кодов, сценариев тестирования и руководств пользователя). По мере того, как организация становится более зрелой, процесс разработки становится все более четко определенным и последовательно применяемым в рамках всей организации.

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


Курсы по стандартам качества CMM и ISO

За дополнительной информацией обращайтесь в Interface Ltd.

Отправить ссылку на страницу по e-mail
Обсудить на форуме Computer Associates


Interface Ltd.
Тel/Fax: +7(095) 105-0049 (многоканальный)
Отправить E-Mail
http://www.interface.ru
Ваши замечания и предложения отправляйте автору
По техническим вопросам обращайтесь к вебмастеру
Документ опубликован: 26.07.02