Модель зрелости процессов разработки программного обеспечения Capability Maturity Model (CMM) и ее расширенная версия CMMI, предложенные Институтом программной инженерии (Software Engineering Institute, SEI) Университета Карнеги—Меллона в прошлом десятилетии, сегодня активно используют для совершенствования своей деятельности многие организации в разных сферах бизнеса по всему миру. Успех CMM в свое время послужил стимулом для появления в SEI других, более специализированных моделей качества, построенных на тех же принципах. Среди них — модель People CMM, предназначенная для формирования эффективных практик организации и развития сотрудников компании.

Участники второй московской международной конференции по программной инженерии Software Engineering Conference (Russia) 2006 получили уникальный шанс из первых рук узнать о том, что из себя представляет модель People CMM, какие преимущества сулит ее применение. Один из авторов People CMM, профессор Университета Карнеги—Меллона Билл Хэфли, выступил на конференции с докладом, провел большой семинар и ответил на вопросы журнала «Открытые системы».

Наши читатели хорошо знакомы с моделями зрелости процессов организации CMM/CMMI. Для чего создавалась People CMM?

«Имеется уже немало примеров впечатляющих результатов применения People CMM в самых разных областях», — Билл Хефли

Я принимал участие в самых первых проектах по реализации модели CMM в конкретных компаниях для усовершенствования процессов разработки программных продуктов. Достигнув третьего уровня зрелости по модели CMM, который подразумевает наличие тренинговых программ для персонала, формирование стандартного процесса в организации и определение ролей участников процесса, компании обнаружили несоответствие между тем, как строятся программы развития сотрудников, и ролями, которые им пытались присваивать. Стал очевиден разрыв между уровнем знаний, квалификации, опыта специалистов и потребностями компаний. Многие организации обратились с просьбой о помощи в Институт программной инженерии Университета Карнеги-Меллона, где я работал в то время и где была создана модель CMM. Мой коллега Билл Кертис предложил идею, как построить работу с сотрудниками, взяв за основу концепцию постепенного усовершенствования из модели CMM и трансформировав ее в положения по развитию и управлению рабочей силой организаций. В качестве рабочего названия модели поначалу использовалось Human Resource Maturity Model. Но я посоветовал отказаться от него, потому что мы создавали не модель для организации работы отделов HR, хотя до сих пор существует такое заблуждение, а модель, которая должна была показать пути совершенствования деятельности всей организации, включая ее руководителей, менеджеров разных уровней, вплоть до рядовых сотрудников по выстраиванию процессов развития людей в этой организации. Поэтому мы стали называть модель People Capability Maturity Model (People CMM).

People CMM и CMM хорошо соответствовали друг другу, поэтому вполне естественно, что первыми, кто начал применять People CMM, были разработческие компании, использовавшие модель CMM. Однако спустя какое-то время модель стала завоевывать популярность и в других сферах деятельности, не имеющих никакого отношения к разработке программного обеспечения. Например, People CMM широко используется в курортном бизнесе. Подумайте, что прежде всего выделяет тот или иной отель? Безусловно, красивое здание, хороший пляж, наличие разнообразных удобств очень важны. Но что заставляет вас возвращаться именно в этот отель снова и снова? Конечно, его персонал. Представители этого бизнеса, как и многих других, поняли, что критическое значение в развитии их конкурентных возможностей играют именно люди. Есть уже немало примеров впечатляющих результатов применения People CMM в самых разных областях.

В теории менеджмента качества определяется три основных компонента качества — люди, процессы и технологии. Равнозначны ли элементы этой триады? Что вы думаете о значении человеческого фактора в достижении успеха организаций?

Нельзя, конечно, сказать о неком полном математическом равенстве этих факторов, но все они очень важны для достижения качественного результата. Несовершенный процесс разработки приведет, например, к тому, что в отсутствие надлежащей проверки будут пропущены серьезные дефекты в программе. Использование плохой технологии означает проектирование с помощью несовершенных инструментов, риск пропустить часть требований к приложениям, создание переполненного ошибками кода из-за некачественного компилятора. Но разработка программ — это творческое предприятие, и люди — их способности, опыт разработки — имеют огромное значение для его успеха. У нас много примеров, когда организации, использующие People CMM, снижают частоту ошибок в коде и повышают в целом качество программных продуктов. И чем более творческую атмосферу им удается сформировать, тем успешнее оказываются их усилия по совершенствованию процессов.

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

Структурно модели People CMM и CMM выглядят практически идентичными. В чем состоят основные различия между ними?

Модель People CMM определяет пять уровней зрелости практик управления людьми в организации, аналогичных уровням зрелости CMM. Уровень 1 — начальный, на котором отсутствует какая-либо согласованная деятельность по управлению и развитию сотрудников. На втором уровне появляется управление определенными действиями. Если в модели CMM речь идет об управлении проектами разработки — управлении требованиями, планировании и контроле проекта и т.д., то в People CMM мы говорим об управлении людьми — комплектация штата, организация коммуникаций между сотрудниками в процессе работы, управление их производительностью и т.д. Уровень 3 носит название «определенный»: согласно CMM и CMMI в организациях, достигших третьего уровня, должен быть определен стандартный процесс. В People CMM третий уровень подразумевает определение основных компетенций, необходимых организации для выполнения этого процесса, и формирование программ карьерного роста. Ведь естественно, что далеко не все все ваши сотрудники собираются всю жизнь довольствоваться ролью рядового программиста, люди стремятся приобретать квалификации аналитика, бизнес-аналитика, архитектора и др.

Уровень 4 мы называем «предсказуемым». В случае модели CMM для разработки программного обеспечения мы здесь имеем дело с системой метрик и количественно управляемым процессом, позволяющим предсказать производительность разработки. В People CMM на четвертом уровне должны появиться количественные параметры контроля за развитием персонала. Например, в организации есть некая программа тренингов. Если она не обеспечивает нужное число людей с квалификациями, необходимыми компании, необходимо соответствующим образом модифицировать эту программу. Наконец, пятый, так называемый оптимизационный уровень в обеих моделях подразумевает непрерывное совершенствование процессов разработки или практик по управлению и развитию людей в организации.

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

Существует ли процедура сертификации по модели People CMM?

Прежде всего, я должен отметить, что никакой формальной «сертификации» для моделей CMM, CMMI и PCMM не существует, это миф. Есть процесс оценки на соответствие уровням зрелости, который компании реализуют собственными силами или с привлечением внешних консультантов.

Если же говорить по существу, то в случае People CMM большинство организаций используют эту модель для грамотного руководства улучшениями в области развития кадров, а не для того, чтобы пройти формальную оценку. Получив формальную оценку на соответствие уровню 5 модели CMM или CMMI, вы можете бить себя в грудь и демонстрировать всем свои потрясающие результаты — это действенный способ позиционировать себя на рынке. Однако большинство компаний не чувствуют необходимости для успешного продвижения на рынке во всеуслышание заявлять о своих достижениях в управлении людьми. За небольшим исключением, есть ограниченное число организаций, для которых формальная оценка на соответствие уровню 5 и по модели CMMI, и по People CMM являются частью маркетинговой стратегии. Они стремятся продемонстрировать своим потенциальным клиентам, что достигли высокого уровня в разработке и развитии нужных специалистов для своей эффективной работы. Однако мы видим, что все больше организаций используют модель People CMM не для формальной оценки, а для реальных улучшений. И мы стараемся всемерно поддерживать эту тенденцию. Существует четыре редакции книги, посвященной модели People CMM. Помимо американской была выпущена менее дорогая редакция в Индии, есть также японское и китайское издания. Кроме того, электронную версию описания модели, практически идентичную печатному изданию на английском, можно свободно загрузить с сайта SEI.

А в каких странах она наиболее популярна?

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

Что вы думаете о перспективах использования People CMM в России?

People CMM имеет все шансы завоевать здесь популярность. Однако использование модели в России будет иметь свои нюансы по сравнению с ее применением, скажем, в индийских компаниях. Рассмотрим хотя бы один аспект. В Индии огромный рынок рабочей силы. Там вы назначаете место и время интервью, и на него приходит 15 тыс. человек. В Москве такого произойти не может. Поэтому такая область процессов People CMM, как комплектация штатов, в России реализуется совсем иначе. Индийская компания сосредоточится на том, чтобы не принять тех, кто ей не подходит. В российской же фокус будет на привлечении тех, кто ей необходим.

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

Как эволюционировала модель People CMM?

Книга, о которой я говорил, это вторая версия модели. Первую версию мы выпустили в 1995 году, вторая появилась шесть лет спустя. За это время у нас была возможность собрать данные об опыте применения модели, которые нашли отражение в новой, седьмой главе книги. Один из примеров — корпорация Boeing, где благодаря People CMM удалось снизить текучесть кадров, улучшить процессы управления производительностью персонала, повысить уровень удовлетворенности сотрудников своей работой. В Lockheed Martin добились улучшений в решении проблемы удержания персонала.

Последние пять лет в Университете Карнеги—Меллона развивается новое направление деятельности по разработке моделей зрелости, в котором я также принимаю участие. Сегодня очень актуальны проблемы аутсорсинга. На аутсорсинг отдаются разнообразные ИТ-функции, включая разработку приложений, организацию центров данных, поддержку сетевых инфраструктур. Все активнее развивается аутсорсинг бизнес-процессов, например аутсорсинг финансовой отчетности, управления персоналом, организации call-центров. Для этой обширной деятельности в Университете Карнеги—Меллона разработаны две взаимосвязанные модели лучших практик eSourcing Capability Models (eSCM): одна для поставщиков сервиса и вторая — для их клиентов. Обеим сторонам взаимодействия в рамках аутсорсинга мы предлагаем руководства для усовершенствований, в которых учтены недостатки применения других моделей качества в управлении сервисами, в частности, ITIL. Аспекты управления людьми в обеих моделях базируются на People CMM.

Что имеет, на ваш взгляд, наибольшее значение для успешной разработки программного обеспечения с точки зрения людских ресурсов — гениальные личности, достаточное количество талантов в команде, надлежащий средний уровень квалификации или что-либо еще?

Сложный вопрос. Мой коллега и соавтор книги о People CMM Билл Кёртис в свое время проводил исследование среди разработчиков и выяснил, что соотношение в уровне квалификации между лучшими сотрудниками и специалистами среднего уровня составляет 20:1. То есть лучшие — лучше в 20 раз. Так что же нам мешает — давайте соберем команду таких суперзвезд, олимпийскую команду, если хотите. Признаюсь, мне никогда не удавалось это сделать. Приходится работать с коллективом людей средних способностей. Но, используя CMMI или People CMM, мы обнаружили, что определение хорошего процесса, выбор правильной технологии и развитие квалификаций сотрудников позволяет создать команду, которая оказывается очень производительной и добивается прекрасных результатов. Мы собираем людей с коэффициентом мастерства, равным единице, а не 20, но организуем их так, что они обеспечивают очень высокий уровень работы. Конечно, участие суперзвезд в проектах, их творческий потенциал может стать источником выдающихся результатов, достаточно привести примеры создания языков программирования или операционных систем. Но, решая задачи разработки приложений для заказчиков, мы, как правило, не можем полагаться на таких суперзвезд. Эти приложения слишком масштабны, заказчики предъявляют большие требования, и удовлетворить их мы сможем, только собрав эффективную команду.

Появились ли за последние десятилетия принципиально новые требования к разработчикам?

Безусловно. Целый ряд тенденций оказывает на это свое влияние. Одна из них — все более актуальными становятся проблемы управления, в особенности управления аутсорсинговыми взаимоотношениями с заказчиками. Специалисты по традиционной разработке программного обеспечения — это прежде всего любители технологий. Я прекрасно понимаю их менталитет, во мне тоже это есть — дайте мне программировать, я хочу творчества. Но разработческих способностей недостаточно для управления взаимоотношениями в команде и за пределами организации. И мы видим все более насущную необходимость в специалистах по такому управлению.

В то же время, меняются и технологии. Я начал программировать около 30 лет назад и делал это на гораздо более низком уровне, чем имею возможность делать сегодня. У меня больше возможностей для повышения продуктивности своего труда — API-интерфейсы, библиотеки, высокоуровневые языки программирования, среды разработки. Таким образом, навыки в программировании также меняются. Но основы — знание математики, понимание того, как перевести проблемы и требования в решения, — остаются прежними.

Что вы думаете об основных тенденциях академической подготовки в области программной инженерии?

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

В описании People CMM используется такой термин, как «организационная культура». Поясните, пожалуйста, его смысл.

Культура — это способ нашего поведения, реализации наших действий в организации. Однако ни одна область процессов People CMM не фиксирует определенную организационную культуру. Модель показывает, как меняется культура при повышении уровня зрелости. На начальном уровне в любой организации сложно говорить о какой-либо культуре, степень доверия между людьми обычно крайне низка. Когда мы определяем стандартный процесс, люди получают вполне конкретные роли и приобретают квалификацию для их выполнения, возрастает уровень надежности сотрудников, повышается доступность различной информации для менеджеров. Организационная культура начинает формироваться. Поднимаясь на более высокие уровни зрелости, мы получаем команду менеджеров, которые имеют полное представление о состоянии дел в организации, знают, чего хотят добиться и как этого достичь. Перед сотрудниками открывается больше возможностей, для того чтобы взять на себя часть ответственности за инновации, за создание новых способов выполнения своей работы, новых процессов. Таким образом, культура полностью меняется по мере того, как повышается уровень зрелости. Вместо того, чтобы получать строгие предписания сделать что-либо при полном отсутствии взаимного доверия, вы попадаете в среду, основанную на доверии. Возникает сотрудничество в создании инновационных решений. И здесь, кстати, проявляется еще одна проблема недостаточной взаимосвязи между академическим образованием и индустрией. Университетские программы учат главным образом программировать «в малом», не прививаются навыки создания приложений в крупных проектах, работы в командах. И это — лишний повод тратить время и деньги на доучивание выпускников непосредственно в организациях.

Существует ли какая-либо система обучения People CMM в университетах?

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