Если команда не накапливает техническую задолженность, она может выпустить продукт после завершения спринтов данного выпуска, не выполняя дополнительной работы.Команда и владелец продукта предоставляют заказчику продукт на проверку и проводят ретроспективное собрание для изучения выпуска в целом.
Однако технические задолженности создают сложные проблемы, которые не просто устранить командам.Если команда, как многие другие команды, по-прежнему накапливает техническую задолженность, перед выпуском продукта придется потратить время на дополнительную работу по завершению описаний функциональности пользователей.На ретроспективном собрании, посвященном выпуску, команда должна рассмотреть меры, которые необходимо предпринять в последующих спринтах, чтобы избежать накопления задолженности.
Нормативное руководство по CMMI для разработчиков опубликовано институтом Software Engineering Institute под названием "CMMI: Guidelines for Process Integration and Product Improvement." В этой работе подробно описана интеграция CMMI для разработки (CMMI-DEV) версии 1.2, представляющая собой одну из моделей в составе пакета продуктов CMMI на момент создания этого материала. Данная модель отличается высокой стабильностью и, вероятно, сохранит свою актуальность надолго. Существует еще одна полезная и доступная работа по этой теме — "CMMI Distilled: A Practical Introduction to Integrated Process Improvement". Дополнительные сведения об этих книгах см. в подразделе Дополнительные ресурсы далее в этом разделе.
|
|
CMMI
CMMI появилась в 1987 году как развитие методологии CMM, которая разрабатывалась научно-исследовательским центром Software Engineering Institute в университете Карнеги-Меллона. Этот центр был создан и финансировался на средства Министерства обороны США. Модель CMM for Software была впервые опубликована в 1991 году и основана на контрольном списке критически важных факторов успеха проектов по разработке программного обеспечения в конце 70-х и начале 80-х годов. Значительный вклад в развитие модели внесли специалисты по научным исследованиям корпорации IBM и ведущие эксперты по контролю качества 20-го века Филипп Кросби и У. Эдвард Деминг. Модель зрелости производственных процессов (Manufacturing Maturity Model), созданная Кросби, легла в основу пяти уровней поэтапного представления (см. далее в этом разделе) и дала имя модели зрелости процессов создания ПО (Capability Maturity Model). CMM использовалась в основном при реализации оборонных программ, прошла несколько редакций и итераций и теперь имеет довольно широкую область применения. Успех модели привел к разработке моделей CMM для других сфер деятельности, не связанных с программным обеспечением. Увеличение числа моделей вызывало путаницу, поэтому правительство профинансировало двухлетний проект с участием более 200 экспертов из области промышленности и науки с целью создания единой, расширяемой платформы, способно интегрировать системное проектирование, программное проектирование и разработку продуктов. В результате была создана модель CMMI.
|
|
Прежде всего, необходимо уяснить, что CMMI-DEV — это модель. Это не процедура или инструкция к действию. Это набор организационных поведений доказанной эффективности при разработке программного обеспечения и системном проектировании. Зачем использовать эту модель? Какова ее цель? Как лучше ее использовать? Это важнейшие вопросы о CMMI, вызывающие больше всего споров.
if (!MTPS) var MTPS = {};if (!MTPS.LocalizedStrings) MTPS.LocalizedStrings = {}; MTPS.LocalizedStrings.ExpandButtonTooltip = 'Развернуть'; MTPS.LocalizedStrings.CollapseButtonTooltip = 'Свернуть'; Зачем использовать эту модель?
Отсутствие модели, характеризующей работу организации, необходимые функции и их взаимодействие в организации, не позволяет принимать меры по оптимизации деятельности. Модель позволяет получить представление об отдельных элементах организации, сформулировать терминологию и организовать обсуждение аспектов, требующих улучшения, и способов улучшения. Данная модель обеспечивает следующие преимущества.
· Предоставляет общую платформу и язык для взаимодействия.
· Основана на многолетнем опыте.
· Помогает пользователям получить общее представление о происходящем, сконцентрировавшись на улучшении процессов.
· Пользуется поддержкой тренеров и консультантов.
· Может служить стандартом для разрешения противоречий.
5.7.1. Каково назначение модели CMMI?
В учебнике говорится, что целью модели является оценка зрелости процессов организации и предоставление инструкций по усовершенствованию процессов, что позволит улучшить создаваемые продукты. Специалисты института Software Engineering Institute, скорее всего, скажут, что CMMI — это модель управления рисками, характеризующая способность организации управлять рисками. Реализация этой модели в организации свидетельствует о ее способности выполнять свои обязательства и поставлять продукты высокого качества, пользующиеся спросом на рынке. Эту модель можно рассматривать и в качестве своеобразного индикатора эффективности организации в стрессовой ситуации. Зрелая организация с развитыми возможностями спокойно встретит неожиданные, стрессовые события, грамотно отреагирует на них, внесет необходимые изменения в свою деятельность и продолжит свое развитие. Незрелая организация с ограниченными возможностями в условиях стресса впадет в панику, попытается следовать устаревшим процедурам или вообще погрузится в хаос, не пытаясь как-либо структурировать свою деятельность.
Эффективность модели CMMI как индикатора экономической эффективности организации не доказана. Несмотря на то что более зрелые организации могут эффективнее управлять рисками и их деятельность более предсказуема, среди зрелых компаний наблюдается тенденция уклонения от риска. Подобная стратегия мешает реализации инноваций и ведет к усилению бюрократизма в организации, что, в свою очередь, замедляет вывод продукции на рынок и снижает конкурентоспособность. Менее зрелые компании отличаются большей инновационностью и творческим подходом, однако их деятельность часто хаотична и непредсказуема. Зачастую положительные результаты таких компаний становятся возможными в результате неимоверных усилий отдельных сотрудников или менеджеров.
5.7.2. Как лучше использовать модель CMMI?
Эта модель предназначена для использования в качестве основы в ходе оптимизации процессов и в качестве вспомогательной системы для измерения параметров улучшения на этапе оценки. С этой целью модель используется с переменным успехом. Очень часто эту модель ошибочно расценивают как определение процесса и пытаются следовать ей, вместо того чтобы использовать ее в качестве карты пробелов в существующих процессах, которые требуют заполнения. Основным компонентом модели CMMI является область процессов, определяющая цели и действия для их достижения. В качестве примера области процесса можно привести контроль качества процессов и продуктов. Другой областью процесса является управление конфигурацией. Важно понимать, что область процесса не является процессом. Один процесс может пересекаться с несколькими областями процесса, а одна область процесса может включать несколько процессов.
|
|
По сути, CMMI-DEV — это две модели, имеющие одни и те же базовые элементы. Один из них (наиболее известный) — это поэтапное представление, позволяющее представить 22 области процесса на одном из пяти уровней зрелости организации. В ходе оценки организации определяется уровень ее работы, который характеризует способность организации управлять рисками и, следовательно, выполнять взятые на себя обязательства.
Уровни 4 и 5 называют уровнями высокой зрелости. Как правило, различия между зрелыми организациями, реализующими стратегии количественного управления и оптимизации, и незрелыми организациями с неэффективной системой управления и следованием заранее определенным процедурам, очевидны. Деятельность зрелых организаций отличается низкой вариативностью процессов и характеризуется использованием ключевых показателей в рамках реализации статистически оправданного метода управления. Следовательно, более зрелые организации отличаются большей предсказуемостью и более высокой скоростью реагирования на новую информацию (при отсутствии бюрократических механизмов, затормаживающих процесс). Менее зрелые организации бросают на борьбу с экстренными ситуациями все силы, в то время как более зрелые слепо следуют устоявшимся процедурам и не всегда могут понять, что изменение некоторых процедур станет более адекватным ответом на сложившуюся ситуацию.
|
|
Вторым базовым элементом является непрерывное представление, моделирующее возможности процессов внутри каждой из 22 областей процесса отдельно. Это позволяет организации скорректировать меры по совершенствованию деятельности в соответствии с процессами, приносящими наибольшую коммерческую выгоду. Это представление больше соответствует оригинальной модели Кросби. Оценка деятельности организации по этой модели позволяет получить профили возможностей, а не отдельные количественные показатели. Поскольку большинство менеджеров и руководителей понимают, на каком уровне зрелости находится организация, существуют способы сопоставления результатов непрерывной оценки модели пяти уровням зрелости.
Использование поэтапной модели в качестве основы программы оптимизации процессов имеет свои недостатки, так как в этом случае легко забыть, что CMMI — это не модель процессов или рабочих процессов, а описание целей, которые должны быть достигнуты в результате этих процессов. Достижение этих целей повышает зрелость организации и вероятность развития событий в соответствии с планом. Вероятно, самой большой ошибкой станет постановка цели достичь определенного уровня с последующей разработкой процессов и инфраструктуры исключительно для того, чтобы успешно пройти сертификацию. Целью любых мер по совершенствованию процессов должно стать измеримое улучшение, а не абстрактное число.
Модель непрерывного представления успешнее используется в качестве руководства по совершенствованию процессов, и некоторые консалтинговые компании предпочитают работать исключительно с этой моделью. Очевидное различие заключается в том, что программа совершенствования процессов, созданная на основе модели непрерывного представления, не предполагает постановки "искусственных" целей, определяемых уровнями зрелости. Кроме того, эту модель удобнее использовать для совершенствования процессов в областях, способных обеспечить экономическую эффективность для организации. Следовательно, вероятность успешного применения модели CMMI больше в тех организациях, которые выбирают модель непрерывного представления. Кроме того, положительный результат часто способствует развитию эффективного цикла усовершенствований.
5.7.3. Элементы модели CMMI
Модель CMMI включает 22 области процесса, перечисленные в следующей таблице.
Акроним | Область процесса |
CAR | Анализ и разрешение причин |
CM | Управление конфигурацией |
DAR | Анализ и разрешение решений |
IPM | Интегрированное управление проектами |
MA | Измерения и анализ |
OID | Организационные инновации и развертывание |
OPD | Определение организационных процессов |
OPF | Фокус организационных процессов |
OPP | Производительность организационных процессов |
OT | Organizational Training |
PI | Интеграция продуктов |
PMC | Мониторинг и контроль проектов |
PP | Планирование проектов |
PPQA | Контроль качества процессов и продуктов |
QPM | Количественное управление проектами |
RD | Определение требований |
REQM | Управление требованиями |
RSKM | Управление рисками |
SAM | Управление соглашениями с поставщиками |
TS | Техническое решение |
VER | Проверка |
VAL | Проверка |
В модели поэтапного представления области процессов сопоставляются каждому этапу, как показано на следующем рисунке.
В модели непрерывного представления области процессов сопоставляются функциональным группам, как показано на следующем рисунке.
Каждая область процесса состоит из необходимых, ожидаемых и информативных компонентов. Сертификация по модели фактически требует только наличия необходимых компонентов. Необходимые компоненты — это конкретные и общие цели каждой области процесса. Ожидаемые компоненты — это конкретные и общие рекомендации по достижению каждой конкретной или общей цели. Обратите внимание, что ожидаемый компонент является не обязательным, а ожидаемым, т. е. любая конкретная или общая рекомендация может быть заменена на эквивалентную. Ожидаемые рекомендации облегчают работу специалистов по реализации и оценке. Если выбирается альтернативная рекомендация, специалист по реализации должен сообщить об этом специалисту по оценке и обосновать выбор. Информационные компоненты содержат подробные сведения, позволяющие специалистам по реализации запустить проект по совершенствованию процессов на основе модели CMMI. Информативные компоненты содержат дополнительные общие и конкретные рекомендации и типичные результаты работы.
Очень важно понять, что необходимыми являются только общие и конкретные цели. Все остальное предоставляется в качестве рекомендаций. Примеры ожидаемых и информативных компонентов, встречающиеся в литературе по модели CMMI, часто взяты из крупных интеграционных проектов в аэрокосмической и оборонной отраслях. Эти проекты реализуются компаниями, финансирующими и поддерживающими Software Engineering Institute в университете Карнеги-Меллона. Эти проекты не всегда соответствуют реализуемым в коммерческих компаниях проектам и не всегда отражают последние тенденции в отрасли (например, появление методов гибкой разработки программного обеспечения).
Заключение
Литература
1. Guide to the Software Engineering Body of Knowledge 2004 Version WEBOK. [Свободный доступ в Интернет: https://www.computer.org/portal/web/swebok/htmlformat]
2. Рекомендации по преподаванию программной инженерии и информатики в университетах = Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering; Computing Curricula 2001: Computer Science: пер. с англ. — М.: ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 2007. — 462 с.: ил.
3. ГОСТ Р ИСО/МЭК 12207-99. Процессы жизненного цикла программных средств. https://www.staratel.com/iso/InfTech/DesignPO/ISO12207/ISO12207-99/ISO12207.htm.
4. Вендоров А.М. Проектирование программного обеспечения экономических информационных систем: Учебник. — М.: Финансы и статистика, 2002. - 352 с.
5. Управление проектом. Основы проектного управления: Учебник /Колл. авт.; под ред. проф. М.А. Разу. - М.: КНОРУС, 2006. -768 с.
Введение в программную инженерию
Учебное пособие
Редактор
Лицензия ИД __________ от _____________ г.
Подписано в печать. Формат 60 х 84 1/16.
Бумага писчая. Печать офсетная. Усл.печ.л..
Уч.-изд.л. 9,8. Тираж 100. Заказ
ФГБОУВПО «Ивановский государственный
энергетический университет имени В.И. Ленина»
Отпечатано в РИО ИГЭУ
153003, г. Иваново, ул. Рабфаковская, 34.
[1] Раздел подготовлен на основе материалов белой книги [2].
[2] Раздел подготовлен на основе материалов белой книги [1] и руководства [11].