Среди всех стандартов в области разработки программного обеспечения, используемых в настоящее время в мире, наиболее популярными моделями являются: ISO 9001, TickIT, SEI SW-CMM.
Стандарты ISO серии 9000
Стандарты международной организации по стандартизации ISO являются наиболее известными и распространенными в мире. Стандарты ISO универсальны, их можно применять в качестве моделей независимо от отрасли, в которой функционирует компания. Вследствие этого у модели ISO есть свои неоспоримые преимущества и недостатки.
Но основным преимуществом модели ISO является известность, распространенность, признание на мировом уровне. Сейчас стандарты ISO являются обязательным минимумом, который должна иметь любая организация, существующая на рынке. Но, конечно же, вследствие своей универсальности, модель на основе стандартов ISO серии 9000 получилась достаточно "высокоуровневой".
Поэтому для построения полноценной системы качества, основанной на модели ISO, необходимо использовать большое количество вспомогательных отраслевых и ISO стандартов.
Комментарий эксперта ITeam: Стандарты ISO, действительно, являются универсальными и во многом не могут отражать специфику IT-компаний. В частности, необходимы дополнительные правила для управления требованиями клиентов. Но, стоит отметить, что внедрений стандартов СМК на сегодняшний день в России встретишь не много, а качественных внедрений еще меньше; наиболее распространенным из стандартов СМК остаются ISO. Поэтому внедрение стандартов ISO 9000:2000 и 9001:2000 могут являться первой ступенью к пониманию и повышению качества IT-услуг.
Стандарт TickIT
Достаточно широкую известность получил британский стандарт TickIT. Этот отраслевой стандарт регламентирует требования к системе качества для организаций разработчиков программного обеспечения и базируется на модели ISO 9001:94. В отличие от модели ISO 9001, которая регламентирует "что необходимо сделать", разработчики данного стандарта попытались ответить на вопрос "как" можно выполнить требования, определенные в ISO 9001. TickIT объединяет в себе модель ISO 9001 с набором рекомендательных стандартов ISO 12207 и ISO 9000-3.
Комментарий эксперта ITeam: Стандарт TickIT мало распространен на территории России. Найти специалиста для маленькой IT- компании в сибирском городе N достаточно затратно и тяжело. Остается взять стандарт TickIT на вооружение, шагая вперед по ступеням менеджмента качества.
Стандарты SEI SW-CMM
Очень интересный подход к улучшению внутренних процессов разработки программного обеспечения определен в модели SEI SW-CMM. В основу данной модели (также как и в основу стандартов ISO серии 9000) положена теория TQM. Теория TQM основывается на постепенном улучшении внутренних производственных процессов за счет множества небольших внедряемых в компании улучшений. Однако модели ISO и CMM несколько различаются в своих подходах к построению самосовершенствующихся систем управления качеством и улучшению производственных процессов.
В отличие от модели ISO, где для того, чтобы соответствовать требованиям, необходимо продемонстрировать 100%-ное соответствие модели (и только оно позволяет компании самосовершенствоваться), в модели SEI SW-CMM предусмотрен поэтапный подход к построению системы совершенствования процессов. Для достижения этой цели разработчики стандарта СММ определили пять уровней, которые должна пройти организация для того, чтобы достичь основной цели - повышения эффективности функционирования процессов компании и, как следствие, улучшения качества результатов производственных процессов и разрабатываемого программного обеспечения.
Комментарий эксперта ITeam: Система CMM-SW (Capability Maturity Model for Software) – серьезный шаг на пути внедрения СМК в IT-компании с большими профессиональными амбициями. Третий, четвертый, а тем более 5 уровень открывает большие перспективы на российском и международном IT-рынках. Мощные корпорации начнут просто хотя бы разговаривать с вами! Но для внедрения системы необходима определенная зрелость и целеустремленность TOP-менеджеров.
Стандарты по Project Management
Одним из важных моментов, который необходимо иметь в виду при внедрении каких-либо стандартов (ISO 9000, SEI SW-CMM, TickIT, Spice ISO 15504 и т.п.), связан с тем, что структура производства компаний, разрабатывающих программное обеспечение, связана со спецификой продукта. Каждый продукт, разрабатываемый IT-компанией, уникален. И для его разработки, как правило, используется проектный тип организации производства, который тесно связан с матричной структурой управления проектами.
Управление проектами - это приложение знаний, опыта, методов и средств к работам проекта для удовлетворения требований, предъявляемых к проекту, и ожиданий участников проекта. Чтобы удовлетворить эти требования и ожидания, необходимо найти оптимальное сочетание между целями, сроками, затратами, качеством и другими характеристиками проекта.
176 комитет ISO разработал рекомендательный стандарт ISO 10006 "Менеджмент качества. Руководство качеством при управлении проектами", который определяет основные подходы к управлению проектами и определяет его место в модели обеспечения качеством. Авторы стандартов ISO серии 9000 определяют процесс управления проектами как часть системы менеджмента качества. С другой стороны, возможен и противоположный взгляд (которого придерживаются оппоненты стандартов ISO серии 9000), согласно которому менеджмент качества является одной из составной частей системы управления проектами.
Управление проектами является скелетом производства в организациях разработчиков программного обеспечения. Поэтому неудивительно, что для приведения в соответствие системы управления качеством производства к требованиям модели ISO 9001 и к требованиям модели улучшения процессов производства SEI SW-CMM использование стандартов и признанных в мире технологий по управлению проектами является краеугольным камнем развития внутренних технологий в IT-компаниях.
Комментарий эксперта ITeam: Без внедренной на предприятии системы управления проектами трудно внедрить систему менеджмента качества. PM – первичнее! В то же время, если в IT-компании СМК уже внедрена, то управление проектами – это процесс, инструмент, шестеренка, позволяющая достичь необходимого уровня качества IT-услуг!
Взаимосвязь наиболее признанных и применяемых в мире стандартов в области разработки программного обеспечения представлена на рисунке:
Система стандартов для IT-индустрии