Развитие модели процессов жизненного цикла. ГОСТ Р ИСО/МЭК 15288
Стандарт ГОСТ Р ИСО/МЭК 15288 "Процессы жизненного цикла систем" (ГОСТ 15288, 2005) - объемный (почти 60 страниц) и сложный документ, задуманный, по-видимому, как расширение ГОСТ Р ИСО/МЭК 12207 на системы, "которые созданы человеком и состоят из одного или нескольких следующих элементов: технические средства, программные средства, люди, процессы (например, процесс оценки), процедуры (например, инструкции оператора), основные средства и природные ресурсы (например, вода, объекты живой природы, минералы)". Его отличают точность и продуманность формулировок, структурированность изложения. Структурно он следует ГОСТ Р ИСО/МЭК 12207 - в частности, здесь, как и там, процессы разбиваются на группы, хотя принцип разбиения совершенно другой. Теперь эти группы выглядят следующим образом:
- процессы соглашения;
- процессы предприятия;
- процессы проекта;
- технические процессы.
К процессам соглашения относятся процесс приобретения, используемый организациями для приобретения продукции или получения услуг, и процесс поставки, используемый для поставок продукции или оказания услуг.
Процессы предприятия включают процесс управления средой предприятия, процесс управления инвестициями, процесс управления процессами жизненного цикла системы, процесс управления ресурсами, процесс управления качеством.
К процессам проекта относятся процесс планирования проекта, процесс оценки проекта, процесс контроля проекта, процесс принятия решений, процесс управления рисками, процесс управления конфигурацией, процесс управления информацией.
И, наконец, технические процессы включают процесс определения требований правообладателей, процесс анализа требований, процесс проектирования архитектуры, процесс реализации элементов системы, процесс комплексирования, процесс верификации, процесс передачи, процесс валидации, процесс функционирования, процесс технического обслуживания, процесс изъятия и списания.
Cтандарт предназначен для организаций, приобретающих, разрабатывающих или внедряющих системы. Созданные системы могут использоваться для внутренних целей или поставляться заказчикам. В качестве заказчиков и поставщиков могут выступать и подразделения самой организации.
Структура стандарта и связь его с ИСО/МЭК 12207 показаны на рис. 6.1. Здесь последний представлен своей последней версией, которая называется Изменение № 1 к ИСО/МЭК 12207. С точки зрения структуры ГОСТ Р ИСО/МЭК 15288 различия между ГОСТ ИСО/МЭК 12207 и Изменением № 1 к ИСО/МЭК 12207 несущественны. Как видим, ИСО/МЭК 12207 детализирует процесс реализации элементов системы, которые могут включать и программные средства. В Приложении С к стандарту точно определяется, процессам какого из двух стандартов (т. е. ГОСТ Р ИСО/МЭК 15288 и ГОСТ Р ИСО/МЭК 12207) следует отдавать предпочтение при построении программной системы.
В ГОСТ Р ИСО/МЭК 15288 для каждого процесса определены цели и результаты, а также приведено описание соответствующей деятельности. Я приведу несколько необходимых для понимания цитат из стандарта.
"Организация осуществляет процессы жизненного цикла избирательно, чтобы достичь целей и результатов стадий жизненного цикла".
"Каждый процесс жизненного цикла при необходимости может быть начат в любой момент жизненного цикла, при этом нет определенного порядка в их использовании. Любой процесс может выполняться одновременно с любыми другими процессами жизненного цикла и может быть реализован на любом уровне иерархии структуры системы. Таким образом, в следующем ниже описании процессов порядок, в котором представлены используемые процессы и группы процессов, не подразумевает предшествования или последовательности их применения в течение жизненного цикла системы. Однако группы процессов отражают концепции, лежащие в основе настоящего стандарта".
Последняя цитата, пусть и не очень ясно, выражает простую идею, унаследованную от ГОСТ Р ИСО/МЭК 12207: жизненный цикл системы не подразумевает жесткой последовательности действий. Порядок действий зависит от ситуации и может меняться, хотя, конечно, "любой процесс" не может выполняться "одновременно с любыми другими процессами". С точки зрения математики, между процессами существует отношение частичного порядка, но не существует отношения линейного порядка.
Чтобы представить стиль стандарта, я приведу пространную цитату, описывающую процесс управления процессами жизненного цикла системы.
"5.3.4. Процесс управления процессами жизненного цикла системы
5.3.4.1. Цель процесса управления процессами жизненного цикла системы
Цель процесса управления процессами жизненного цикла системы заключается в гарантировании доступности эффективных процессов жизненного цикла для использования организацией. Данный процесс обеспечивает процессы жизненного цикла системы, которые согласованы с целями и политикой организации, определены, адаптированы и поддержаны соответствующим образом для учета особенностей отдельных проектов и способны реализовываться с помощью эффективных проверенных методов и инструментальных средств.
5.3.4.2. Результаты процесса управления процессами жизненного цикла системы
В результате эффективного управления процессами жизненного цикла системы:
- a) определяются процессы жизненного цикла системы, которые будут использоваться организацией;
- b) определяется политика применения процессов жизненного цикла системы;
- c) определяется политика адаптации процессов жизненного цикла системы для удовлетворения потребностей отдельных проектов;
- d) определяются критерии оценки результатов применения процессов жизненного цикла системы;
- e) предпринимаются действия по совершенствованию способов определения и применения процессов жизненного цикла системы.
5.3.4.3. Деятельность в процессе управления процессами жизненного цикла системы
При реализации процессов управления процессами жизненного цикла системы организация должна осуществлять следующие действия в соответствии с принятой политикой и процедурами:
- a) устанавливать стандартные наборы процессов жизненного цикла систем для соответствующих стадий жизненного цикла системы;
- b) определять приемлемые политику и процедуры адаптации и требования к их утверждению;
- c) определять методы и инструментальные средства, которые поддерживают выполнение процессов жизненного цикла системы;
- d) по возможности устанавливать показатели, которые позволяют определять характеристики выполненных стандартных процессов;
- e) контролировать выполнение процесса, сохранять и анализировать показатели процесса и определять тенденции по отношению к критериям предприятия;
- f) определять возможности для усовершенствования стандартных процессов жизненного цикла систем;
- g) совершенствовать имеющиеся процессы, методы и инструментальные средства, используя найденные возможности".
Как видим, уровень абстракции описания процессов здесь выше, чем в ГОСТ Р ИСО/МЭК 12207. Кроме того, подчеркивается, что ответственность за результаты частично лежит на "организации", а не только на владельце (владельцах) процессов. Все это означает, что позиция управленца, применяющего стандарт (или принимающего решение о внедрении его в организации), в управленческой иерархии должна быть достаточно высокой.
Разберем приведенный пример процесса подробнее. В результате реализации процесса управления процессами жизненного цикла должны быть определены "процессы жизненного цикла системы, которые будут использоваться организацией". Отметим, что в ГОСТ Р ИСО/МЭК 12207 такой или аналогичный процесс отсутствовал - технология внедрения стандарта оставалась за кадром. Здесь сделана попытка регламентировать эту деятельность. Содержательно процесс подразумевает, что для (каждой) разрабатываемой или внедряемой системы Х необходимо разработать, согласовать и утвердить у руководства документ "Процессы жизненного цикла системы Х", причем нужно принять решение о том, будут ли эти процессы такими же, как и для систем Y, Z…, или для них придется разрабатывать свои документы.
Должны быть определены "политика применения процессов жизненного цикла системы" и "политика адаптации процессов жизненного цикла системы для удовлетворения потребностей отдельных проектов". То есть нужно создать документ (или совокупность документов для отдельных проектов), описывающий, какие процессы, как и почему (а возможно, и кем) должны быть адаптированы к требованиям организации и/или проекта, а также определяющий механизм(ы) модификации процессов при необходимости. К счастью, в стандарте есть Приложение А, посвященное процессу адаптации, правда, сам процесс достаточно сложный и ресурсоемкий.
Далее, нужно разработать и утвердить "критерии оценки результатов применения процессов жизненного цикла системы". Другими словами, нужно придумать набор параметров, по которым можно будет судить о том, как работает каждый внедренный процесс жизненного цикла и что можно и нужно сделать для повышения его эффективности. Конечно, маловероятно, что удастся сразу разработать законченную систему показателей; скорее придется делать это постепенно, сообразуясь с управленческими возможностями организации. Ну и, наконец, нужно разработать и начать выполнять "действия по совершенствованию способов определения и применения процессов жизненного цикла системы".
Для того чтобы выполнить все перечисленное, возможно, придется создавать специальную структуру, или подразделение, или временную рабочую группу, распределять ответственности, вводить формы отчетности и т. д. и т. п. Возможно, потребуются дополнительные средства автоматизации (например, корпоративный портал или база знаний). Поскольку речь идет о долгосрочной деятельности, необходимо запланировать соответствующие инвестиции. Значит, нужно понять, кто в организации заинтересован в результате, выявить стейкхолдеров этого процесса, определить его владельца, согласовать требования к результатам.
Стандарт не уточняет ни ролей, ни форматов документов, ни детального состава работ, оставляя все это на усмотрение конкретных организаций. Таким образом, успешность или неуспешность внедрения рассмотренного процесса в большой степени определяется готовностью организации взяться за такую сложную работу, возможностью ее контролировать и желанием довести до конца. К сожалению, подобные организации являются пока исключением из правил, в частности, из-за низкого уровня квалификации управленцев.
Важнейшей частью ГОСТ Р ИСО/МЭК 15288-2005 являются Приложения. О Приложении А уже было сказано выше. Приложение B предлагает концепцию стадий жизненного цикла, которая развивает идеи, содержащиеся в ГОСТ Р ИСО/МЭК 15271-2002.
Предлагаются следующие стадии жизненного цикла систем:
- a) стадия замысла;
- b) стадия разработки;
- c) стадия производства;
- d) стадия применения;
- e) стадия поддержки применения;
- f) стадия прекращения применения и списания.
Стадии "образуют структуру работ для детализированного моделирования жизненных циклов системы". Это означает, что стадии являются теми кирпичиками, из которых в ходе процесса адаптации (Приложение А) строится жизненный цикл конкретной системы. Стадии могут перекрываться или повторяться; каждая стадия содержит процессы, отобранные и настроенные (также во время адаптации) так, чтобы реализовать цели этой стадии.
Для каждой стадии определяются цель и результаты. Вот, например, какие цели сформулированы для стадии замысла.
"В.2.2. Цель стадии замысла
Стадия замысла выполняется для оценки новых возможностей в деловой сфере, разработки предварительных системных требований и осуществимых проектных решений".
На практике именно эта стадия часто является наиболее важной. Документ, под названием "Концепция системы X", или "Обоснование разработки системы Х", или "Рекомендации по созданию системы Х", с которого начинается любой серьезный проект, формирует первое (и часто больше не изменяющееся) мнение руководителей о сути проекта, о целесообразности создания системы. Всем, кто сталкивался на практике с такого рода документами, известно, как тщательно выверяется содержание такого документа, как долго готовится его обсуждение. А вот каковы результаты выполнения стадии замысла по ГОСТ Р ИСО/МЭК 15288:
- "a) установление новых замыслов, в которых предлагаются новые возможности, увеличение производительности или снижение общей стоимости собственности правообладателей в течение жизненного цикла системы;
- b) оценка осуществимости замысла и решений для рассматриваемой системы в течение жизненного цикла, включая обеспечивающие системы, с учетом как технических, так и деловых целей правообладателя;
- c) подготовка и формирование базовой линии1Калька с распространенного термина "baseline", который применяется в самых разных случаях и обозначает законченную, базовую конфигурацию чего-либо; базовая конфигурация может изменяться только с помощью специально разработанного процесса управления изменениями. требований правообладателя и предварительных системных требований (технических спецификаций для выбранной рассматриваемой системы и пригодности спецификаций для предусмотренного способа взаимодействия между человеком и системой);
- d) уточнение результатов стадий в модели жизненного цикла системы;
- e) планы идентификации, оценки и уменьшения рисков для стадий модели жизненного цикла системы;
- f) идентификация и предварительная спецификация услуг, которые необходимо получать от обеспечивающих систем в течение жизненного цикла рассматриваемой системы;
- g) замыслы выполнения всех последующих стадий;
- h) планы и критерии завершения стадии разработки;
- i) планы идентификации, оценки и уменьшения рисков для данной и последующих стадий модели жизненного цикла системы;
- j) удовлетворение критерием завершения данной стадии;
- k) санкционирование перехода на стадию разработки".
Приведенный перечень вполне может послужить основой для корпоративного стандарта на подобные документы. Стандарт не содержит никаких указаний на то, какие именно процессы включаются в стадию замысла (да и в другие стадии). Можно предположить, что в ходе этой стадии будут использоваться такие процессы, как процесс анализа требований или процессы планирования и управления ресурсами (если стадия замысла реализуется как проект), но это только одна из возможностей. Общая задача моделирования жизненного цикла выходит за рамки стандарта.
Приложение С содержит таблицу соответствий (в частности, терминологических) между Изменением № 1 к ИСО/МЭК 12207 и ИСО 15288 (первый документ не переведен на русский язык). Приложение С определяет иерархию процессов: на верхнем уровне находятся процессы ГОСТ Р ИСО/МЭК 15288, а на уровне реализации программных средств, входящих в элементы системы, возникают процессы ГОСТ Р ИСО/МЭК 12207. Так продолжается вверх иерархия, сформированная стандартами ГОСТ Р ИСО/МЭК 15910-2002, ГОСТ Р ИСО/МЭК 14764-2002 и ГОСТ Р ИСО/МЭК 12207-00.
Особого упоминания заслуживает Приложение D, где приведен развернутый и хорошо структурированный текст, поясняющий основные концепции стандарта. Для того чтобы оценить стиль Приложения, достаточно следующей цитаты.
"D.3.1. Процессы жизненного цикла
Процессы жизненного цикла, определенные настоящим стандартом, могут применяться любой организацией при приобретении и использовании или создании и поставке системы. Они распространяются на любой уровень системной иерархии и на любую стадию жизненного цикла.
Процессы жизненного цикла основываются на принципах модульности (максимальная слаженность функций процесса и минимальная связь между процессами) и собственности (процесс связывается с ответственностью). Функции, которые осуществляются данными процессами, определяются в зависимости от конкретных целей, результатов и набора действий, составляющих данный процесс. Процессы, описанные в настоящем стандарте, не препятствуют и не исключают использование дополнительных процессов, которые организация посчитает полезными.
D.3.2. Ответственность и соглашения внутри и между организациями
D.3.2.1. Ответственность за процесс
Обычно организации различают разные области управленческой ответственности и действий. Взятые вместе, эти области вносят вклад в способность организации продвигать свою продукцию на рынок. В настоящем стандарте используется модель процессов, основанная на трех основных областях (или уровнях) ответственности: ответственность предприятия, ответственность проекта и техническая ответственность. В рамках каждой организации скоординированное множество процессов предприятия, проектных и технических процессов способствует эффективному созданию и использованию систем, содействуя, таким образом, достижению целей организации. Различные организации и различные области ответственности внутри организации устанавливают между собой рабочие взаимоотношения и подтверждают свою ответственность путем заключения соглашений (см. рис. 6.2). Эти соглашения унифицируют и координируют вклады, сделанные различными областями ответственности с целью достижения общих бизнес-целей".
Рис. 6.2. Процессы соглашения, предприятия, проекта и технические процессы во взаимодействующих организациях
Как видим, принцип разделения процессов на группы - абсолютной иной, нежели в ГОСТ Р ИСО/МЭК 12207. На первый план выдвигаются бизнес-цели, на достижение которых работают процессы. Иерархия ответственностей, предлагаемая стандартом, конечно, не единственно возможная, но сама идея привязки процессов к ответственностям представляется очень плодотворной. Это помогает привязать процессы к структуре организации, определить в ней владельцев процессов. Таким образом, становится более структурированной задача внедрения стандарта, возникают связи между бизнес-целями организации и результатами деятельности владельцев процессов.
По сравнению с ранее рассмотренными стандартами, ГОСТ Р ИСО/МЭК 15288-2002 открывает ряд новых возможностей. Прежде всего, он позволяет связать задачу анализа процессов с бизнесом организации, переводя ее из разряда технических или технологических в разряд бизнес-задач. Например, посредством процессов соглашения и управления инвестициями реализуется связь процессов жизненного цикла с задачами управления корпоративными финансами, финансового планирования и бюджетирования, процесс управления ресурсами взаимодействует с управлением персоналом и т. д. Роль стандарта с этой точки зрения прежде всего в том, что он определяет место процессов управления жизненным циклом систем среди остальных процессов организации.
На этом я заканчиваю краткий обзор процессных стандартов в области ИТ. Этот обзор нельзя ни в коей мере считать исчерпывающим, но это и не входило в мои цели. Я хотел только продемонстрировать направление эволюции процессных стандартов и тот путь, который они проделали за последние 15-20 лет. Несмотря на значительный прогресс в деле выбора и формализации лучших управленческих практик в виде эталонных моделей процессов, предстоит еще огромная работа не только по расширению области охвата моделей, но, главное, по осознанию и решению новых задач, возникших в связи с внедрением в практику управления процессного подхода. Например, необходимо научиться оценивать затраты на внедрение эталонных или адаптированных процессов управления ИТ в практику организации, а также связанные с этим выгоды и риски. Еще одно направление исследований может быть связано с использованием при построении процессных моделей управления ИТ подходов и принципов, применяющихся при анализе производственных процессов. Возможно, такие популярные производственные концепции, как бережливое производство2англ. lean production , " точно вовремя3англ. JIT - just in time " и другие, окажутся плодотворными и в сфере управления ИТ.
Процессные стандарты и SWEBOK
Наиболее полным на сегодняшний день методическим руководством по программной инженерии следует признать появившийся в 2004 г. документ SWEBOK, полное английское название которого - Guide to the Software Engineering Body of Knowledge (SWEBOK), что можно перевести как "Руководство к методическому справочнику по программной инженерии" (IEEE Computer Society, 2004).
Книга представляет собой систематизированное и структурированное изложение основных понятий, связанных с разработкой ПО, объединяющее определения, концепции, методы из множества источников, среди которых стандарты занимают одно из центральных мест. Сам по себе SWEBOK не является ни стандартом, ни методикой, ни моделью. Это просто развернутый справочник, который состоит из десяти разделов, соответствующих десяти основным видам деятельности при разработке ПО. В каждом из разделов даются ссылки на стандарты, полностью или частично описывающие соответствующие процессы.
Одно из приложений к руководству (Приложение С) целиком посвящено стандартам.
Содержание Приложения С - таблица, показывающая степень покрытия стандартами (их приведено свыше пятидесяти) десяти разделов SWEBOK.
Руководство дает достаточно полное представление о том, какое место занимают процессные модели в программной инженерии и как они развиваются. Очевидный вывод, который следует из анализа SWEBOK, состоит в том, что модели процессов, представленные разными стандартами, хотя и являются отчасти взаимодополняющими, не складываются в единую непротиворечивую модель. Как следствие, выбор подходящей процессной модели для внедрения на практике оказывается неизбежно субъективным, и для обоснования его приходится привлекать дополнительные соображения. Это могут быть соображения, связанные со зрелостью организации (см. " "Зрелость проектных организаций. Методология CMM" Зрелость проектных организаций. Методология CMM"), необходимость удовлетворить внешним требованиям, зависимость выбора от стратегии бизнеса и т. д. Во всяком случае, говорить об универсальной "правильной" модели процессов сейчас не приходится. В этой ситуации SWEBOK может служить хорошей отправной точкой для углубленного анализа ситуации и принятия решения о выборе процессной модели.
Руководство доступно для просмотра на http://www.computer.org/portal/web/swebok. На 2010 г. запланирован очередной релиз SWEBOK.
Краткие итоги
Заключительная лекция об эталонных процессных моделях и процессных стандартах посвящена обобщению подхода ГОСТ Р ИСО/МЭК 12207 на случай жизненного цикла сложных систем. Показывается, что изложенная в стандарте ГОСТ Р ИСО/МЭК 15288 модель процессов жизненного цикла систем значительно расширена по сравнению с моделью ГОСТ Р ИСО/МЭК 12207, а высокий уровень абстракции стандарта еще более усложняет задачу его внедрения. По итогам изучения стандартов делается вывод об отсутствии к настоящему времени единого взгляда на процессы управления жизненным циклом.
Вопросы
- В чем состоит назначение стандарта ГОСТ Р ИСО/МЭК 15288?
- Какова структура стандарта, чем она принципиально отличается от структуры ГОСТ Р ИСО/МЭК 12207?
- Какие группы процессов входят в ГОСТ Р ИСО/МЭК 15288?
- Каково назначение процесса управления процессами жизненного цикла? Что послужило прообразом этого процесса в ГОСТ Р ИСО/МЭК 12207?
- Какие стадии жизненного цикла определяет ГОСТ Р ИСО/МЭК 15288?
- Каковы результаты стадии замысла (привести 3-5 результатов)?
- Что такое SWEBOK?