Отредактированная лекция
Производственный процесс и управление
Производственный процесс — это последовательность работ, которые добавляют ценность продукту, в данном случае услугам по разработке ПО. CMM (Capability Maturity Model — модель зрелости процессов) рассматривает только процессы управления этой деятельностью. Она не разбирает программные технологии, архитектуры и технические решения. Предмет CMM — организация работ на протяжении жизненного цикла ПО (software lifecycle), включая управление проектами, поскольку речь идёт о проектных организациях.
Зрелость процесса
Производственный процесс описывается через характеристики, которые определяют его уровень зрелости (maturity level). К свойствам процесса относятся определённость, управляемость, измеряемость, контролируемость и эффективность. Они должны быть заданы точно и недвусмысленно.
Зрелость процесса означает два аспекта:
- Насколько процесс охватывает задачи управления в соответствующей сфере — разработке, тестировании, контроле качества.
- Насколько процесс стабилен и укоренён в организации. Если разные проекты, люди и заказчики управляют задачами по-разному, это один случай; если похоже — другой; если одинаково — третий.
Уровни зрелости CMM
В основе CMM лежит «лесенка» уровней зрелости: первый — самый низкий, пятый — самый высокий.
- Начальный (Initial). Процесс создаётся заново под конкретный проект, иногда является хаотическим. Определены лишь некоторые процессы. Успех зависит от усилий отдельных людей. Команда не получает от организации поддержки в том, как выстроить работу, поэтому сама придумывает анализ требований, обеспечение качества и управление. Если люди опытные, успех вероятнее; если нет — проект может развалиться.
- Повторяемый (Repeatable). Проекты по-прежнему разные, но некоторые основные процессы управления разными видами работ становятся общими. Они фиксируются в нормативных документах, созданных и утверждённых руководством. Руководство устанавливает правила игры для проектных групп через политики руководства (management policies). Определяются основные работы, контрольные точки и выходы процессов. Возникает дисциплина процесса, которая позволяет тиражировать ранее достигнутые успехи, снижать грубые ошибки и риски, создавать гарантию качества в будущем.
- Определённый (Defined). Организация имеет централизованное, детальное и полное описание производственного процесса. Появляется корпоративный процесс (corporate process) и его владелец (process owner). Менеджер проекта обязан взять стандартный процесс как шаблон и следовать ему. При этом он имеет право адаптировать (tailor) процесс под нужды проекта: что-то убрать или сократить. Адаптация регламентирована; её выход — адаптированный процесс и обоснование изменений. Этот уровень высок, потому что все проектные менеджеры согласились работать по общему процессу; это контролируется и требует отчётности.
- Управляемый (Managed). Собираются количественные метрики (metrics) производственного процесса и создаваемого продукта. Накапливается статистика поведения стандартного процесса в разных проектах. Это нужно для анализа процесса и его будущего улучшения. На втором уровне такие метрики было бы трудно сравнивать, потому что процессы в проектах разные. Сравнение становится возможным, когда организация прошла третий уровень и имеет общий шаблон: тогда можно сопоставлять экземпляры процесса, измеряющие одно и то же.
- Оптимизирующий (Optimizing). Организация на основе метрик и неформальных соображений занимается постоянным систематическим улучшением производственного процесса. CMM не описывает, какие именно метрики использовать и как именно улучшать процесс. Предполагается, что это делается в разных организациях по-разному. Организация сама интерпретирует требования, придумывает метрики и способ оптимизации; аудиторы оценивают соответствие уровню на основе опыта. Если есть метрики — можно говорить о четвёртом уровне, если есть деятельность по оптимизации — о пятом, при условии достижения предыдущих уровней.
Что улучшается при росте зрелости
Переход с первого на третий уровень повышает предсказуемость для клиента и стабильность качества продукта. На начальном уровне нельзя сказать, закончится проект успехом. На повторяемом уровне можно ожидать, что катастрофических провалов не будет, поскольку руководство регулирует работы политиками. На определённом уровне результат становится понятным: клиент видит описание стандартного процесса и понимает, как будет управляться разработка. Качество становится стабильным в любом проекте, хотя его уровень может быть не самым высоким.
Четвёртый и пятый уровни нужны для другого: они повышают обоснованность вложений в информационные технологии и проектную деятельность с точки зрения владельца компании. Владелец получает объективные оценки эффективности работы, понимает, куда идут деньги, и может участвовать в улучшении. Без метрик нельзя понять, стала ли отдача выше. Поэтому первые три уровня — это информация для заказчиков и клиентов, а четвёртый и пятый — для собственников и владельцев.
Ограничения CMM
CMM сознательно не отвечает на вопросы о том, какие метрики выбирать и как именно оптимизировать процесс. Авторы модели считают, что это делается по-разному в разных организациях. Организация сама придумывает метрики и деятельность по улучшению. Аудиторы на основе опыта решают, соответствует ли организация четвёртому или пятому уровню. При этом остаются вопросы: как пользоваться шаблоном, если он постоянно меняется; как сравнивать результаты до и после изменения процесса; как понять, стало лучше или хуже. Эти вопросы CMM не рассматривает.
Краткие итоги
Основная логика материала строится вокруг различия между технической деятельностью и управлением ею. CMM не претендует на описание инженерных методов, архитектур или технологий; её предмет — организационные механизмы, которые делают разработку ПО управляемой и воспроизводимой. Зрелость здесь не абстрактная оценка, а измеримая характеристика: она показывает, насколько полно процесс охватывает управленческие задачи и насколько единообразно он применяется в разных проектах. Это позволяет рассматривать уровни не как формальную лестницу, а как последовательность снятия организационных рисков.
Первый переход — от хаоса к повторяемости — решает проблему зависимости от отдельных людей. Политики руководства и базовые процессы создают минимальную дисциплину, благодаря которой успех перестаёт быть случайным. Второй переход — к определённому процессу — решает проблему разрозненности: появляется общий шаблон, владелец процесса и регламентированная адаптация. Это делает качество предсказуемым для заказчика, хотя и не обязательно максимальным. Третий переход — к управляемому уровню — возможен только после стандартизации, потому что сравнивать метрики можно лишь там, где процессы сопоставимы. Метрики нужны не сами по себе, а как основа для обоснованных решений об улучшении. Четвёртый переход — к оптимизации — превращает улучшение в постоянную деятельность, но CMM намеренно оставляет конкретные метрики и методы на усмотрение организации и аудиторов.
Практический смысл такой модели в том, что она разделяет интересы разных сторон. Заказчику важны предсказуемость и стабильное качество, поэтому ему достаточно первых трёх уровней. Собственнику важны эффективность вложений и объективная картина работы компании, поэтому для него значимы четвёртый и пятый уровни. Организация может использовать уровни как дорожную карту: сначала зафиксировать базовые правила, затем создать общий процесс, после — научиться измерять его поведение и лишь затем перейти к систематическому улучшению. Ограничение модели в том, что она не даёт готовых рецептов для измерений и оптимизации; эти решения остаются управленческими и требуют зрелости самой организации.
CMM (Capability Maturity Model — модель зрелости процессов) посвящена управлению производственным процессом разработки ПО, а не технологиям, архитектурам или инженерным решениям. Производственный процесс — последовательность работ, добавляющих ценность продукту или услуге. CMM рассматривает процессы управления этой деятельностью на протяжении жизненного цикла ПО, включая управление проектами в проектных организациях.
Зрелость процесса определяется двумя вещами: насколько процесс охватывает задачи управления и насколько он стабилен, то есть одинаково ли управляются задачи в разных проектах. Свойства процесса: определённость, управляемость, измеряемость, контролируемость, эффективность.
Уровни зрелости:
- Начальный. Процесс создаётся под конкретный проект, иногда хаотичен. Определены лишь некоторые процессы. Успех зависит от усилий и квалификации отдельных людей. Команда не получает поддержки организации и придумывает работу заново.
- Повторяемый. Некоторые основные процессы управления становятся общими и фиксируются в нормативных документах — политиках руководства. Определяются основные работы, контрольные точки, выходы. Появляется дисциплина процесса, позволяющая тиражировать успех и снижать риски.
- Определённый. Есть централизованное детальное и полное описание производственного процесса. Появляется корпоративный процесс и его владелец. Проектный менеджер обязан использовать стандартный процесс как шаблон, но может адаптировать его под проект. Адаптация регламентирована и требует обоснования. Уровень высок, так как все менеджеры согласились работать по общему процессу.
- Управляемый. Собираются количественные метрики процесса и продукта, накапливается статистика поведения стандартного процесса в разных проектах. Это нужно для анализа и улучшения. Сравнивать метрики можно только после стандартизации процесса на третьем уровне.
- Оптимизирующий. Организация постоянно систематически улучшает процесс на основе метрик и неформальных соображений. CMM не задаёт конкретные метрики и методы оптимизации — это организация придумывает сама, а аудиторы оценивают соответствие.
Переход с первого на третий уровень повышает предсказуемость для клиента и стабильность качества. На начальном уровне успех неизвестен; на повторяемом снижается риск катастрофических провалов; на определённом качество становится стабильным в любом проекте. Четвёртый и пятый уровни нужны собственнику: они дают объективные оценки эффективности вложений в ИТ и проектную деятельность. Первые три уровня — информация для заказчиков, четвёртый и пятый — для владельцев. CMM не отвечает, как именно менять процесс, как сравнивать результаты до и после изменений и как понять, стало лучше или хуже.
1. CMM описывает управление производственным процессом, а не технологии, архитектуры или инженерные решения.
2. Производственный процесс — последовательность работ, добавляющих ценность продукту или услуге.
3. Зрелость процесса определяется охватом управленческих задач и стабильностью применения в проектах.
4. Свойства зрелого процесса: определённость, управляемость, измеряемость, контролируемость, эффективность.
5. Первый уровень — начальный: процесс создаётся под проект, успех зависит от отдельных людей.
6. Второй уровень — повторяемый: основные процессы закрепляются политиками руководства и становятся дисциплиной.
7. Третий уровень — определённый: есть централизованный стандартный процесс, владелец и регламентированная адаптация.
8. Четвёртый уровень — управляемый: собираются метрики процесса и продукта, накапливается статистика для анализа.
9. Пятый уровень — оптимизирующий: процесс постоянно улучшается на основе метрик и решений организации.
10. Первые три уровня повышают предсказуемость для заказчика и стабильность качества.
11. Четвёртый и пятый уровни дают собственнику объективную оценку эффективности вложений.
12. CMM не задаёт конкретные метрики и методы оптимизации, оставляя их организации и аудиторам.
1. Чем производственный процесс отличается от процессов управления в контексте CMM?
2. Какие два аспекта включает зрелость процесса?
3. Почему на начальном уровне успех проекта сильно зависит от людей?
4. Что такое политики руководства и какую роль они играют на повторяемом уровне?
5. Зачем на определённом уровне вводится владелец процесса?
6. Как на определённом уровне сочетаются обязательное следование шаблону и адаптация?
7. Почему метрики становится возможно сравнивать только после третьего уровня?
8. Для чего на управляемом уровне собираются метрики процесса и продукта?
9. Что CMM не определяет для оптимизирующего уровня?
10. Как меняется предсказуемость качества при переходе с первого на третий уровень?
11. В чём различие интересов заказчика и собственника при оценке зрелости?
12. Какие вопросы об улучшении процесса остаются открытыми в CMM?