Назад Оглавление Вперед

1.2 Применение ИСО 9001 при разработке ПО

С прогрессом в области информационных технологий увеличилось количество продукции программного обеспечения и, соответственно, возросла роль управления качеством этой продукции. Одним из путей создания системы управления качеством является разработка руководящих положений по обеспечению качества программного обеспечения.
Требования к общей системе качества, при двусторонней контрактной схеме, опубликованы в стандарте ИСО 9001. Однако процесс разработки и обслуживания программного обеспечения отличается от такого же процесса для большинства других типов промышленной продукции. Поэтому для такой быстро развивающейся области технологии необходимо разрабатывать дополнительные руководящие положения к системе качества там, где задействована продукция программного обеспечения, принимая во внимание современный уровень развития этой области технологии.
Природа развития программного обеспечения такова, что некоторые виды деятельности связаны лишь с отдельными фазами процесса разработки, тогда как другие могут относиться ко всему процессу. Ниже будут отражены эти различия, а также руководящие положения, содействующие применению стандарта ИСО 9001 организациям, разрабатывающим, поставляющим и обслуживающим продукцию программного обеспечения.
Руководящие положения предназначены для описания предлагаемых средств управления и методов разработки программного обеспечения, отвечающего требованиям покупателя. Это достигается, в первую очередь, предотвращением несоответствия продукции на всех стадиях, начиная от разработки и кончая техническим обслуживанием.
1. Структура системы качества
Руководство поставщика должно определить и документально оформить свою политику, цели и обязательства в области качества. Поставщик должен обеспечить понимание этой политики, ее осуществление и внедрение на всех уровнях в конкретной организации.
Ответственность, полномочия и взаимодействие всего персонала, который руководит, выполняет и проверяет работу, оказывающую влияние на качество, должно быть четко определены. Особенно это касается персонала, которому необходимы организационная свобода и полномочия для:
проведения мероприятий, направленных на предупреждение случаев несоответствия продукции;
выявление и регистрация любых проблем в области качества продукции;
инициирования, выработки рекомендаций или обеспечения выполнения решений в установленном порядке;
проверка выполнения решений;
контроля за дальнейшей обработкой несоответствующей продукции, ее поставкой или монтажом до тех пор, пока выявленные дефекты или неудовлетворительные условия не будут устранены.
Поставщик должен определить требования к внутренней проверке, обеспечить необходимые средства и назначить специально подготовленный персонал для ее проведения. Проверка должна включать контроль, испытание и регулирование процессов проектирования, производства, монтажа и обслуживания и/или продукции; анализ проекта и проверки системы качества, процессов и/или продукции должны выполняться персоналом, независимым от тех, кто несет непосредственную ответственность за выполненную работу.
Поставщик должен назначить представителя руководства, который независимо от других обязанностей должен иметь определенные полномочия и нести ответственность за выполнение и соблюдение требований стандарта ИСО 9001.
Система качества, удовлетворяющая требования ИСО 9001, должна периодически анализироваться руководством поставщика с тем, чтобы гарантировать постоянную пригодность и эффективность системы. Следует вести протоколы подобных анализов.
Покупатель должен сотрудничать с поставщиком с тем, чтобы своевременно обеспечить его всей необходимой информацией и разрешить возникающие проблемы.
Покупатель должен назначит представителя, ответственного за связь с поставщиком по вопросам контракта. Этот представитель должен иметь полномочия решать следующие связанные с контрактом вопросы (но не ограничиваться ими):
определять требования покупателя к поставщику;
отвечать на вопросы поставщика;
принимать предложения поставщика;
заключать соглашения с поставщиком;
гарантировать соблюдение организацией, представляющей покупателя, соглашений, заключенных с поставщиком;
определять критерии процедуры и приемки;
принимать решения по тем элементам программного обеспечения, которые признаны непригодными для использования.
Регулярный совместный анализ, проводимый покупателем и поставщиком, должен планироваться с тем, чтобы охватить следующий круг вопросов:
соответствия программного обеспечения техническому заданию, согласованного с покупателем;
результаты контроля;
результаты приемочных испытаний.

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

2. Система качества - жизненный цикл.

Проект разработки ПО должен осуществляться в соответствии с моделью жизненного цикла. Действия, связанные с обеспечением качества, должны планироваться и проводиться с учетом особенностей выбранной модели ЖЦ.
Поставщик должен устанавливать и выполнять процедуры, обеспечивающие проведение анализа контракта и координацию этой деятельности.
Каждый контракт должен быть изучен поставщиком, чтобы гарантировать, что:
область действия контракта, а также требования, определены и оформлены документально;
вероятные случайности или риск идентифицированы;
информация, являющаяся собственностью фирмы, достаточно защищена;
любые требования, отличные от тех, которые содержаться в заявке на контракт, нашли необходимое решение;
поставщик имеет возможности выполнить контрактные обязательства;
ответственность поставщика в отношении подрядных работ определена;
терминология согласована обеими сторонами;
покупатель имеет возможность выполнить контрактные обязательства.

Для разработки ПО поставщик должен иметь полный недвусмысленный набор функциональных требований. Кроме того, эти требования должны отражать все аспекты, необходимые для удовлетворения потребностей покупателя. Сюда можно отнести, но не ограничиваться этим, следующие: эксплуатационные качества, безопасность, надежность, гарантию и приватность.
Эти требования должны быть сформулированы достаточно точно, с тем, чтобы производить оценку во время приемки продукции.
В техническом задании (ТЗ) эти требования фиксируются. В некоторых случаях этот документ разрабатывается покупателем. В других случаях он разрабатывается поставщиком в тесном сотрудничестве с покупателем; при этом поставщик должен получить согласие покупателя прежде, чем начнется стадия разработки.
Техническое задание покупателя должно быть объектом контроля за документацией и управления конфигурацией, как часть документации на разработку.
Все интерфейсы между определенной продукцией ПО и другой продукцией ПО или аппаратных средств должны быть полностью определены либо непосредственно, либо путем ссылок в техническом задании покупателя.
В процессе разработки ТЗ покупателя рекомендуется обратить внимание на следующие вопросы:
назначение лиц (с обеих сторон), ответственных за разработку ТЗ покупателя;
методы согласования требований и утверждение изменений;
усилия по предотвращению неправильного понимания, т.е. определение терминов, объяснение исходных данных в отношении требований;
запись и изучение результатов дискуссий обеими сторонами.

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

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

План разработки должен устанавливать методы, обеспечивающие правильность выполнения всех работ. Он может включать правила, практические методы и накопленный опыт по разработке; средства и технические приемы, используемые для разработки; управление конфигурацией.
Анализ хода выполнения работ следует планировать, проводить и документально оформлять, с тем, чтобы обеспечить решение спорных вопросов, касающихся распределения ресурсов, и гарантировать эффективное выполнение планов проекта.
Необходимые затраты по каждой фазе должны быть определены и документально оформлены. Каждое требование должно быть определено
таким образом, чтобы его выполнение можно было проверить. Вопрос о неполных, двусмысленных или противоречивых требованиях должны решать лица, ответственные за разработку этих требований.
Результаты, требуемые по каждой фазе разработки, должны быть определены и документально оформлены. Они должны быть проверены и удовлетворять следующим условиям:
отвечать требованиям, установленным для каждой фазы;
содержать критерии приемки или ссылки на них для перехода к последующей фазе;
соответствовать принятой практике и накопленному опыту по разработке независимо от того, оговорены ли они во входной информации;
идентифицировать те характеристики продукции, которые являются наиболее важными для ее безопасности и эффективного функционирования;
соответствовать действующим нормативным требованиям.

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

Проектирование и реализация. Проектирование и реализация - это те виды деятельности, которые трансформируют ТЗ покупателя в продукцию ПО. Из-за сложности этой продукции вся деятельность должна осуществляться в строго установленном порядке, с тем, чтобы производить продукцию в соответствии с заданием, а при обеспечении качества не следует чрезмерно полагаться на действия, связанные с испытанием и проверкой.
В дополнение к требованиям, общим для всех фаз разработки, необходимо принять во внимание следующие аспекты, присущие деятельности по проектированию:
идентификацию конструктивных соображений: в дополнение к требованиям, касающимся выходных данных и ожидаемых результатов, следует рассмотреть такие аспекты, как правила проектирования и определения внутреннего интерфейса;
методологию проектирования: должна быть использована методология системного проектирования, соответствующая виду разрабатываемой продукции программного обеспечения;
использование прошлого опыта в проектировании: используя уроки, извлеченные из опыта прошлого проектирования, поставщик должен избегать повторений одних и тех же, или аналогичных, проблем;
последующие процессы: продукция должна быть спроектирована так, чтобы можно было без помех проводить испытания, тех. обслуживание и использование.
В дополнение к требованиям, общим для всех видов деятельности, связанных с разработкой, необходимо рассмотреть следующие аспекты для каждого вида деятельности по реализации проекта:
правила: следует установить и соблюдать правила программирования, языка программирования, согласованные правила наименования, кодирования и соответствующего разъяснения;
методологию реализации: поставщик должен использовать соответствующие методы и средства реализации, чтобы выполнить требования покупателя.
Поставщик должен проводить анализ с целью гарантии того, что требования выполняются, и описанные выше методы применяются правильно. Процесс проектирования или реализации не должен продолжаться до тех пор, пока последствия всех выявленных недостатков не будут положительно разрешены или пока не будет известна степень риска в случае продолжения работ другими методами. Следует вести протоколы таких анализов.
Проведение испытания может быть необходимо на различных уровнях, начиная от отдельного элемента ПО и кончая готовой продукцией. Существует несколько различных подходов к испытаниям. В некоторых случаях оценка, испытания на месте и приемочные испытания могут быть одним и тем же видом деятельности. Документ, описывающий план испытаний, может быть самостоятельным документом (озаглавленным План испытаний) или частью другого документа или может быть составлен из нескольких документов.

3. Система качества - вспомогательные виды деятельности.

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

К видам деятельности, связанной с управлением конфигурацией относятся идентификация и прослеживаемость конфигурации, контроль изменений, установление отчета о статусе конфигурации.
Поставщик должен установить и осуществлять процедуры по идентификации элементов ПО на всех фазах, начиная с составления технических условий, затем разработка и тиражирование и кончая поставкой. Каждый отдельный элемент ПО должен иметь свою собственную и отличную от других идентификацию.
Процедуры должны применяться для гарантии того, что для каждого варианта элемента ПО могут быть идентифицированы:
функциональные и технические требования;
все технические средства, используемые при разработке, которые влияют на функциональные и технические требования;
все интерфейсы с другими элементами ПО и с аппаратными средствами;
все документы и компьютерные файлы, имеющие отношение к конкретному элементу ПО.

Для выпущенной продукции необходимо установить процедуры, облегчающие прослеживаемость элемента или продукции ПО.
Поставщик должен установить и выполнять процедуры по идентификации, документальному оформлению, анализу и санкционированию любых изменений в элементах ПО в рамках управления конфигурацией. Все изменения в элементах ПО должны проводиться в соответствии с этими процедурами.
Поставщик должен установить и обеспечить протоколирования, управления и предоставления отчетов о статусе ПО, заявок на изменения и реализации утвержденных изменений.
Поставщик должен установить и обеспечить процедуры по контролю всех документов.
К данным процедурам относится:
определение тех документов, которые должны быть объектом контроля;
утверждение и опубликование;
изменение, включая отмену и, если необходимо, выпуск.
Процедуры контроля за документацией должны применяться к соответствующим документам, включая следующие:
процедурные документы, описывающие систему качества, которая должна применяться на протяжение всего ЖЦ ПО;
документы по планированию, описывающие планирование и развитие всех видов деятельности поставщика, а также взаимодействие с покупателем;
документы на продукцию, описывающие конкретную продукцию ПО, включая:

а) информацию на входе фазы разработки;
б) ожидаемые результаты в конце фазы разработки;
в) планы и результаты проверок и оценок;
г) документацию для покупателя и пользователя;
д) эксплуатационную документацию.

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

 

Назад Оглавление Вперед