В течение прошлого года среди компаний - разработчиков ПО злободневной темой для обсуждения стало внедрение и сертификация систем управления качеством. Однако сразу бросалось в глаза, что в этих дискуссиях принимала участие небольшая группа фирм (не более десятка), ориентирующихся на работу с зарубежными рынками. В связи с этим автоматически возникал целый ряд вопросов. Например, в какой степени использование подобных систем актуально для широкого круга российских производителей ПО? К тому же нужно учитывать, что созданием ПО занимаются три основные категории предприятий - поставщики “коробочных” продуктов и тиражируемых решений, разработчики заказных решений и ИТ-отделы заказчиков. Для кого же из них представляет интерес внедрение и сертификация систем управления качеством? Каковы затраты на создание и поддержку такой системы? Оправдывают ли они себя в смысле повышения эффективности деятельности коллектива разработчиков? Или это нужно только в качестве “лейбла” для демонстрации заказчикам (“ученым можешь ты не быть, но кандидатом быть обязан”)? И т. д., и т. п.
По-видимому, одно из первых публичных обсуждений подобных вопросов в нашей стране состоялось на семинаре “Опыт внедрения систем управления качеством по стандартам ISO и CMM в компаниях, занимающихся разработкой программного обеспечения”, прошедшем в Москве под занавес уходящего года. В этих заметках мне хотелось бы обобщить услышанную там информацию с учетом мнений, которые довелось узнать из других источников.
Управление качеством... Качеством чего?
Тема “систем качества” стала уже довольно обыденной, но тем не менее и сейчас частенько встречается неверное понимание сути вопроса из-за путаницы понятий “качество бизнес-процессов” и “качество продукции”. Так вот, стандартизация систем управления качеством не имеет никакого отношения к оценке качества выпускаемых товаров или предоставляемых услуг. Это - не “знак качества”, который присваивался в советские времена именно товару. В данном случае подразумеваются производственные процессы компании (но при этом всегда учитываются отзывы потребителей, т. е. косвенным образом оценивается и конечная продукция). Более того, речь идет не о качестве как некоторой фиксированной характеристике, а о возможности управления качеством. Иными словами, имеется в виду оценка степени управляемости предприятием, в том числе стабильности его бизнеса, его готовности к оперативному решению возникающих проблем, эффективному реагированию на изменение внешних условий и пр.
Одна из задач внедрения систем качества - сведение к минимуму зависимости от таких субъективных факторов, как, например, кадровый состав предприятия. Значение этой проблемы резко возрастает по мере повышения уровня “интеллектуальности” производственных процессов, использования высококвалифицированных кадров. Нет нужды объяснять, насколько все актуально (и весьма непросто), когда речь идет о таком сложном творческо-технологическом процессе, как разработка ПО.
В несколько упрощенной форме система управления качеством подразумевает четкую регламентацию всех бизнес-процессов и их постоянного контроля на основе документирования. Однако уже в этой фразе видны два подводных камня. Во-первых, постоянное заполнение отчетных форм требует от сотрудников времени в ущерб выполнению основной работы. А во-вторых - излишняя формализация процессов может пойти во вред поиску неординарных решений...
Использование системы и сертификация - это “две большие разницы”
Мне представляется, что мы можем на время вообще забыть термин “качество”. Ведь в реальности речь идет об управлении не качеством, а самим предприятием. Поэтому было бы лучше говорить о “качестве управления” тем или иным производственным процессом *1. Соответственно, можно утверждать, что любая компания изначально имеет ту или иную систему управления, а следовательно, оценке подлежит лишь степень ее соответствия текущим и перспективным бизнес-задачам конкретной организации. И если предприятие хочет добиться успеха на рынке, оно должно стремиться к постоянному совершенствованию своей системы управления. Не говоря уже о том, что это просто необходимо в условиях роста компании.
_____
*1. Следует отметить, что большинство стандартов управления качеством подразумевают оценку не работы компании в целом, а определенных видов ее деятельности. Поэтому если компания заявляет об обладании, например, сертификатом ISO 9000, то имеет смысл задать ей встречный вопрос - по какому конкретно производственному процессу?
Некоторые исследователи (см., например, “Российский ИТ-рынок и стандарты качества” - PC Week/RE, N 41/2001, с. 35) говорят о наличии двух путей повышения эффективности своих систем управления производством - основываясь на базе собственного накопленного опыта или ориентируясь на признанные мировые модели в области менеджмента. Более того, в противовес почти безоговорочному признанию достоинств второго варианта президент компании “Спирит” Андрей Свириденко, например, постоянно подчеркивает опасность регламентации работы программистов при создании новых оригинальных программных продуктов (а не при выполнении заданных требований заказчика).
Однако такое противопоставление двух вариантов представляется не очень правильным. На самом деле следует разделять этапы реализации проекта на НИОКР и собственно производство, и тогда все встает на свои места: проблемы технологической и организационной дисциплины особенно актуальны на втором этапе (для НИОКР задачи управления работами также важны, но методы их решения должны быть несколько иными).
В действительности решающим фактором при выборе той или иной модели управления является объем реализуемых проектов. Наверное, нет нужды говорить о принципиальных различиях проблем управления при работе группы из трех-пяти программистов и коллектива в несколько сот разработчиков. И тут нет никаких сомнений: по мере роста бизнеса модель управления производством любой компании будет совершенствоваться в направлении “классических”, общепризнанных стандартов.
Тем не менее постоянное совершенствование модели управления совсем не напрямую связано с необходимостью ее сертификации. Легко заметить, что в отличие от фирм, занимающихся заказными разработками, поставщики “коробочных” продуктов (и уж тем более лидеры рынка) совсем не гонятся за подтверждением качества своих систем управления. Основная причина тому - отсутствие в силу специфики бизнеса требований на наличие официальных “корочек” со стороны рынка, при том что сама процедура сертификации обуславливает серьезные дополнительные затраты.
Самый красочный пример здесь - масштабная программа фирмы “1С” по внедрению систем управления качеством в компаниях-франчайзи на базе стандарта ISO 9001:2000. С момента ее начала международный сертификат получили 14 партнеров, но сама “1С” даже не пыталась пройти подобную сертификацию, хотя уровень управляемости в фирме, безусловно, очень высок.
Что же является стимулом к ходатайству о международном сертификате? Абсолютное большинство компаний, занимающихся офшорным программированием и прошедших сертификацию, говоря о пользе этой процедуры, признаются, что решающим мотивом для получения такого статуса было у них настойчивое пожелание заказчика (часто - вполне конкретного, стратегического).
А вот среди партнеров “1С” мотивация носит несколько иной характер, так как российские клиенты пока еще не выдвигают таких требований. Конечно, тут тоже большую роль играют маркетинговые аспекты (наличие не очень понятного для заказчиков, но “модного” статуса, освещение в прессе и пр.). Но не менее важным стимулом является мощная организацинно-методическая поддержка со стороны “1С”, которая значительно снижает расходы компаний на внедрение и сертификацию систем управления качеством.
В целом в вопросе о соотношении “практического применения” системы управления качеством и ее сертификации можно провести полную аналогию с изучением некоего предмета для своей практической работы и сдачей формального экзамена по нему. Помимо изрядных треволнений при подготовке к экзамену приходится изучать и многие темы, которые вам вроде бы и не очень нужны в жизни. С другой стороны, вполне вероятно, что вдобавок к получению заветного диплома вы обнаружите, что некоторые вещи, казавшиеся вам чистой формальностью, могут действительно помочь в работе...
Проект ПРООН для российских разработчиков ПО
В 2002 г. в России стартовал проект ПРООН (программа развития ООН) “Повышение конкурентоспособности малых и средних инновационных предприятий в Российской Федерации”, реализуемый при помощи ЮНИДО (организация промышленного развития ООН) и Фонда содействия развитию малых форм предприятий в научно-технической сфере.
Проект предусматривает обучение, консультации и сертификацию в области управления качеством в российских компаниях на общую сумму 400 тыс. долл. и рассчитан на полтора года. Из этих средств 150 тыс. долл. выделяют ПРООН и Минпромнауки (через Фонд), а остальные предполагается получить от заинтересованных коммерческих организаций. При успешной реализации российские и международные инвесторы готовы продолжить финансирование проекта в 2004 г. Значительный интерес к этой программе проявила ассоциация РУССОФТ, в результате чего, как заявил ее президент Валентин Макаров, практически все выделенные средства в нынешнем году пойдут на работу с российскими софтверными компаниями.
Одним из первых мероприятий проекта стал семинар “Опыт внедрения систем управления качеством по стандартам ISO 9001 и CMM в компаниях, занимающихся разработкой программного обеспечения”, состоявшийся одновременно в Москве и Санкт-Петербурге и организованный соответственно фирмой НАМИП и консорциумом “Форт-Росс”. Главная задача семинара была сформулирована следующим образом: на конкретных примерах показать целесообразность применения и сертификации систем управления качеством, рассказать об основных шагах по их внедрению и о главных сложностях и проблемах, с которыми сталкиваются компании - разработчики ПО, приступающие к этому процессу.
Помимо проведения подобных мероприятий программа “Повышение конкурентоспособности...” предусматривает прямую финансовую поддержку компаний, предусматривающую возмещение (в размере до 15 тыс. долл.) затрат на внедрение систем качества и проведение сертификации.
Стандарты ISO 9001 и CMM
В настоящее время в мире имеется несколько моделей (стандартов) управления качеством, наиболее известные из них - ISO 9001:2000 и CMM, широко применяемые в сфере разработки ПО.
ISO 9001 - стандарт Международной организации по стандартам (ISO) - впервые был опубликован в 1997 г., после чего два раза пересматривался. Принципиальное отличие новой редакции от предыдущих состоит в направленности на непрерывное улучшение качества и подход к описанию деятельности предприятия на основе бизнес-процессов. Это универсальный стандарт, широко применяемый во многих отраслях и позволяющий гарантировать качество продукции и услуг посредством выполнения ряда требований к системе менеджмента.
Стандарт CMM (Capability Maturity Model - модель уровня зрелости) был создан американским Институтом разработки ПО (Software Engineering Institute) по заказу Министерства обороны США. Он не является международным, но получил широкое признание в мире, особенно в Америке. (Последнее обстоятельство важно для компаний-разработчиков, ориентирующихся на американский рынок. Не говоря уже о том, что многие заокеанские крупные заказчики, с которыми работают российские фирмы, составляют тот самый ВПК США - например, Boeing, Motorola и пр.)
Можно выделить два принципиальных отличия CMM от ISO 9001 - это фокусировка на специфике разработки ПО и градация уровней качества управления компаний: Initial (начальный), Repeatable (воспроизводимый), Defined (определенный), Managed (управляемый), Optimizing (оптимизируемый). Начальный уровень соответствует ситуации, когда устойчивая система управления в компании отсутствует. Как правило, схема управления средней софтверной фирмой находится примерно на уровне Repeatable, поэтому обычно процедура официальной сертификации начинается с управляемой ступени, для достижения которой необходимо серьезно реформировать систему управления. Последний, определенный уровень является высшим, он отражает способность компании к самосовершенствованию. Достоинство такой схемы оценки очевидно: в отличие от ISO 9001:2000, который дает ответ в стиле “да/нет”, система CMM позволяет следить за изменением уровня управления компанией.
Относительно недавно был принят новый стандарт CMMI, охватывающий не только разработку ПО, но и материальное производство. К тому же он в значительной степени ориентирован на большие компании. И хотя пока наработан незначительный опыт его успешного внедрения, он считается очень преспективным, и ожидается, что его широкое применение начнется через год-полтора. По мнению некоторых экспертов, стандарт ISO 9001 оценивает в первую очередь устойчивость и предсказуемость бизнеса, а CMM - его эффективность и способность к развитию.
Общее число российских ИТ-компаний, сертифицированных по стандарту ISO 9001, в разных источниках варьируется в пределах от 20 до 40, при этом отмечается, что большинство из них связано с софтверным бизнесом.
Стандарт CMM в России пока применяется довольно редко, в основном интерес к нему проявляют компании, занимающиеся офшорным программированием, главным образом работающие с крупными американскими заказчиками. По данным ассоциации РУССОФТ, сейчас сертификат CMM имеют четыре отечественные фирмы: петербургский центр разработки ПО компании Motorola (5-й уровнь, получили первыми в Европе!), “Люксофт”, “Телма” (4-й уровень) и Digital Design (3-й уровень). Правда, последняя в начале 2003 г. прошла также сертификацию и по новому стандарту CMMI (3-й уровень). Несколько членов ассоциации сертифицированы по стандарту ISO 9001:2000. Еще около 30 компаний находится в процессе внедрения систем управления качеством; половина из них пройдет сертификацию (по ISO или CMM) в течение года.
Для сравнения: по различным оценкам, высший, пятый уровень CMM имеет 25-30 индийских и не менее 40 китайских компаний - разработчиков ПО.
(Продолжение следует)