Модели менеджмента при разработке программных продуктов
В 1994г., через 50 лет после начала применения программируемых средств
в системах автоматического управления, корреспондент журнала «Scientific
American» W. Wayt Gibbs писал в статье «Software’s Chronic Crisis» (Scientific American, сентябрь 1994):
«Исследования показали, что на каждые 6 крупных систем программного обеспечения, запущенных в
действие, приходится 2 таких, разработка которых была прекращена из-за невозможности добиться удовлетворительного функционирования. Средний проект
разработки программного обеспечения затягивается на половину первоначально
запланированного срока, крупные проекты и того хуже. Три четверти всех
больших систем либо выполняют не все функции, которые на них возлагались,
либо не используются вовсе».
Причина столь бедственного
состояния была в том, что долгое время программирование приравнивали к
искусству, а программисты старались превзойти друг друга в хитроумии переплетения
логических связей своих программ. Но там, где искусство, нет места стандартизации.
В отсутствии стандартизации индустрия разработки программного обеспечения
проходила тот же путь, который к тому времени уже был пройден остальной
промышленностью – от труда искусных ремесленников до массового производства
на основе разделения труда.
В 90-х годах, когда провалы попыток применения программного обеспечения в больших системах дали основание
говорить о хроническом кризисе отрасли, ответ на вопрос о том, как добиться
стабильного качества продукции, был уже известен. Промышленная революция
в Японии после Второй мировой войны показала
всему миру, чего можно достигнуть, применяя идеи основоположников
менеджмента качества, утверждавших, что от 80 до 90 процентов брака –
результат плохого планирования. К тому времени уже вышел первый международный
стандарт по менеджменту качества (1987г.). Поэтому поиски выхода из кризиса
в индустрии программного обеспечения велись в направлении разработки модели
системы эффективного менеджмента.
Следующие модели разработаны
специалистами разных организаций.
The TickIT Guide – «Использование ISO 9001:2000 для построения систем
менеджмента качества программных продуктов, сертификации и непрерывного
улучшения». Этот стандарт разработан профессионалами отрасли из
Европы и США, приглашёнными для работы над стандартом в составе специального
комитета BRD/3/1
Британским Институтом Стандартизации (BSI). Назначение стандарта – повысить состоятельность
оценок систем менеджмента предприятий - разработчиков программных продуктов
(IT-сектор) органами сертификации. Если оценка соответствия системы менеджмента
проводится специалистами, не достаточно компетентными в области разработки
программного обеспечения, то их выводы относительно соответствия стандарту
ISO 9001:2000 могут оказаться неверными. Свою компетентность органы сертификации систем менеджмента
могут подтвердить, демонстрируя аккредитацию услуг в IT-секторе по правилам «TickIT». В настоящее время аккредитацию услуг сертификации,
соответствующих «TickIT», осуществляют английский и шведский
органы аккредитации, UKAS и SWEDAC.
Кроме дополнительных требований
к органам сертификации, «TickIT» содержит руководство по применению ISO 9001:2000 при разработке программного обеспечения,
помогая определить,
—
что есть качество в контексте
разработки программных продуктов,
—
как можно достичь качества,
—
как система менеджмента
может непрерывно улучшаться.
«TickIT» гармонично объединяет типичные процессы разработчиков
программного обеспечения, детально описанные в стандарте ISO/IEC 12207 и требования
ISO 9001:2000. Результат этого объединения – эффективные технологии
менеджмента, описанные с учётом специфических процессов участников IT-сектора.
Определяя действия, которые
потребители должны предпринять, чтобы обеспечить возможность поставки
ожидаемого программного продукта, «TickIT» содержит также руководство по приобретению программных
продуктов.
Следующие области IT-сектора исключены из рассмотрения в «TickIT»:
—
Складирование программных
продуктов,
—
Продажа программных продуктов
через сеть розничной торговли,
—
Установка программных приложений
на персональных компьютерах,
—
Копирование дисков и дискет,
если это изолированный бизнес.
В перечисленных случаях
разработчики стандарта полагают, что проверка соответствия стандарту ISO 9001:2000 может быть проведена квалифицированно органом
сертификации, не имеющим аккредитации «TickIT».
ISO/IEC 12207 – «Информационные
технологии – Процессы жизненного цикла программ». Этот стандарт разработан подкомитетом SC 7, совместного технического комитета ISO/IEC
JTC 1 организаций ISO и IEC (the International Electrotechnical Commission). Он устанавливает базовые понятия
и терминологию, определяет архитектуру процессов, применяемых для приобретения,
производства, разработки, использования и технической поддержки программных
продуктов. Стандарт предлагает также руководство по выбору из общего набора
процессов тех, которые соответствуют области деятельности предприятия.
Версии стандарта ISO 12207:
CMM-SW
(Capability Maturity Model for
Software)
– разработана специалистами института SEI (Software Engineering
Institute) университета Карнеги Мелон
при поддержке министерства обороны США. В отличие от ISO 9001, СММ затрагивает
не все бизнес-процессы, влияющие на способность организации соответствовать
требованиям потребителей. Определяя приоритеты бизнес-процессов производства
программных продуктов, СММ может быть использована
при планировании улучшения системы менеджмента, позволяя концентрировать
ресурсы организации на тех процессах, которые являются наиболее актуальными
для текущего уровня развития. СММ определяет 5 уровней зрелости организации:

Для каждого уровня зрелости,
кроме первого, СММ определяет ряд ключевых областей, на которых организация
должна концентрировать свои ресурсы для того, чтобы повысить результативность
своих процессов. Определение ключевых областей дано в терминах видов деятельности,
осуществляемых организацией. Наличие или отсутствие в организации этих
видов деятельности служит основанием для оценки уровня зрелости.
Компетентная оценка может
быть произведена специалистами, зарегистрированными в реестре SEI. Если организация располагает такими специалистами,
она может провести самооценку и использовать её результат, как для планирования
улучшения, так и в коммерческих целях. Однако, в отличие от сертификации,
беспристрастность которой гарантируется аккредитацией органа сертификации,
беспристрастность оценки уровня зрелости по СММ гарантируют лишь сами
оценщики.
BOOTSTRAP – европейский
подход, развивающий СММ. Эта модель поддерживается институтом BOOTSTRAP. Ключевые области, определённые в СММ расширены с
тем, чтобы включить требования ISO
9001 и процессы, определённые в ISO/IEC 12207, а затем сгруппированы по
функциональному назначению. Уровень зрелости определяется для каждой группы
отдельно с помощью списка вопросов. Ответы на вопросы оцениваются по
4-бальной системе. Результат изображается в виде гистограммы распределения
зрелости по функциям.
ISO/IEC TR 15504 Reference Model –
Справочная модель, отчет рабочей группы №10, сформированной совместным
техническим комитетом ISO/IEC JTC1/SC7, по результатам
работы над проектом SPICE (Software Process Improvement and Capability dЕtermination). Этот отчет содержит процессы жизненного цикла программ
по ISO 12207, организованные
в 5 категорий. Оценка результативности проводится по 6-уровневой шкале:
Уровень
|
Название
|
Значение
|
0
|
Первоначальный
|
процесс не определён или не производит ожидаемого
выходного продукта
|
1
|
Реализованный
|
Процесс достигает своих целей
|
2
|
Управляемый
|
Выходной продукт процесса соответствует требованиям
|
3
|
Учреждённый
|
Управляемый процесс реализуется в соответствии
с его определением и при удовлетворительном уровне затрат
|
4
|
Предсказуемый
|
Эффективность учреждённого процесса находится в
определённых пределах, установленных в соответствии с целями организации
|
5
|
Оптимизируемый
|
Предсказуемый процесс оптимизируется для достижения
целей организации
|
Оценка процессов по ISO/IEC
15504 проводится обычно самой организацией
или её заказчиками. Методология оценивания описана в тексте стандарта.
Результаты измерения используются при формировании программы улучшения
системы менеджмента.
|