CPI/TQM-эволюционный подход
Одним из наиболее ранних подходов к реорганизации является подход CPI (Continuous Process Improvement) и его японский аналог TQM (Total Quality Management), который широкомасштабно и успешно применялся при реорганизации предприятий еще в середине двадцатого века. Самый впечатляющий результат его применения — подъем японской послевоенной промышленности и доведение качества японских товаров до современного, опережающего многие страны уровня. Этот подход продолжает активно использоваться и в настоящее время, о чем свидетельствует, например, возрастающий объем применения стандартов серии ISO 9000, фактически поддерживающих CPI.
В основе подхода лежит очевидная концепция управления качеством выпускаемой продукции. Качество должно быть направлено на удовлетворение текущих и будущих потребностей потребителя как самого важного звена производственной линии.
Отметим, что данный подход характеризуется ориентацией на требования рынка и потребителя и применим в условиях, когда существуют достаточная стабильность производства и желание сохранения кадров.
Примером применения подхода CPI для конкретной отрасли промышленности являются требования СММ (Capability Maturity Model), разработанные институтом SEI (Software Engineering Institute) для предприятий, стремящихся к осуществлению качественного процесса разработки и сопровождения программного обеспечения. СММ описывает характеристики совершенства (качества) процессов разработки и сопровождения программного обеспечения (ПО-процессов), а также критерии перехода от «плохих» к хорошо управляемым ПО-процессам в терминах уровней совершенства модели. СММ применяется для:
─ улучшения ПО-процессов, когда предприятие планирует, разрабатывает и реализует их изменения;
─ оценки ПО-процессов, когда определяются состояние текущих ПО-процессов предприятия и приоритетные процессы, а также осуществляется организационная поддержка их улучшения;
─ оценки возможностей ПО при квалификации партнеров, осуществляющих заказную разработку ПО или управляющих состоянием существующих ПО-процессов.
Фактически СММ является комплексом требований к ключевым элементам эффективного ПО-процесса и способам его эволюционного улучшения. СММ поддерживает этапы планирования, инжиниринга, управления разработкой и сопровождением ПО, что улучшает возможности предприятия в достижении целей по стоимости, функциональности и качеству производимого ПО.
СММ декларирует пять уровней совершенства ПО-процесса — инициализация, повторение, определение, управление и оптимизация, определяющих его возможности (т.е. описывающих вырабатываемые им результаты). Каждый из уровней (за исключением первого) включает несколько ключевых областей процесса, содержащих цели эффективной реализации проекта. Фактически набор целей и определяет рассматриваемый уровень совершенства ПО-процесса. В свою очередь, каждая из ключевых областей организована в виде пяти разделов (взятие обязательств, осуществимость, выполнение, оценка и анализ, верифицируемая реализация), названных общими характеристиками и регламентирующих эффективность, повторяемость и продолжительность действий по достижению целей из ключевой области процесса. Наконец, каждая из общих характеристик специфицирует собственные ключевые применения, содержащие действия, совокупное выполнение которых и позволяет достигнуть целей ключевых областей процесса.
Например, на уровне повторения решаются задачи управления проектом ПО и устанавливаются процедуры решения задач управления. Планирование и управление новыми проектами основываются на опыте аналогичных проектов. Цели уровня заключаются в установлении эффективных процессов управления ПО-проектами, позволяющих предприятию использовать успешный опыт других проектов (при этом отдельные процессы могут и отличаться от ранее выполненных). Эффективным процессом считается практичный, документированный, измеряемый, способный к улучшению и хорошо осваиваемый процесс. Ключевыми областями процесса являются следующие:
─ Управление требованиями. Целью является установление «взаимопонимания» между пользователями и проектными спецификациями, основанными на их требованиях. Это является основой планирования и управления ПО-проектами.
─ Планирование ПО-проекта. Целью является формирование разумных планов для проектирования ПО и управления ПО-проектом, без таких планов проект не может быть выполнен эффективно.
─ Ведение проекта. Целью является отслеживание текущего состояния проекта и эффективных воздействий на него в случае отклонений от планов.
─ Управление подпроектами. Цель заключается в выборе квалифицированных субподрядчиков и эффективных способов управления ими.
─ Гарантия качества. Целью является обеспечение управления наблюдаемостью и возможностью исследовать ПО-проект и создаваемый программный продукт.
─ Управление конфигурацией ПО. Целью являются установление и поддержка состава и конфигурации ПО в проекте на протяжении всего жизненного цикла проекта.