Это сладкое слово “КАЧЕСТВО”
Качество информационных систем относится к области искусства, если речь идет об отдельном специалисте, и к области культуры производства применительно к фирме. В этой статье мы рассмотрим идеи, на которых зиждется современная наука “Система качества в производстве КИС (корпоративных информационных систем)”.
Весь промышленный мир сходит с ума по качеству. Японское экономическое чудо, похоже, нашло свое выражение в двух словах: “Система качества”. Сложилось новое направление со своей наукой, своими авторитетами, “всемирно известными” методами, международными и национальными премиями, стандартами.
Разработчики ПО также охвачены лихорадкой качества. Хотя абсолютно все авторы начинают публикации со слов: “Всем известно, что качество программного обеспечения не поддается точному определению и измерению”*1, - тем не менее задача поставлена и требует решения. Но найти его весьма трудно.
_____
*1. Кстати, и знаменитый стандарт ИСО 9000-3 [1] делает реверанс в эту сторону, см. п. 6.4.1: “В настоящее время не существует общепринятых критериев качества программного обеспечения...”.
В связи с этим любопытна публикация [2] английских исследователей М. Тэйлора и Дж. Да-Косты. Они провели анализ проблемы качества КИС на одном конкретном примере. Для этого в небольшую фирму внедрили своего человека в качестве консультанта, который наблюдал за ходом создания информационной системы. Главный вывод таков: на средних и малых предприятиях при разработке и внедрении КИС возникают те же проблемы с качеством, что и на больших, поэтому требуется применение методологии гибких систем. Интересен перечень проблем, с которыми столкнулись английские товарищи:
- программисты и коммерсанты мыслят разными категориями, поэтому им трудно найти общий язык;
- имея опыт работы со старой программой, сотрудники фирмы-заказчика предложили такое количество новых идей, что система под их тяжестью едва могла шевелиться, при этом многие из этих идей остались невостребованными;
- заказы принимались “на слух”, многие из них так никогда и не были записаны;
- техническое задание не было подготовлено в полном объеме;
- ну и, конечно же, “вечные” проблемы с внедрением (даже не будем цитировать, так это все банально - ошибки, разногласия по поводу ТЗ, нежелание операторов учиться...).
В результате - снижение доверия к разработчику, которое еще более усугубилось, когда вместо того, чтобы изменить настройки принтера, разработчик выставил счет за ремонт его системной платы на 250 фунтов стерлингов.
Когда же заказчик захотел, чтобы оператор на складе имел возможность работать на нескольких экранах одновременно, программисты вновь сказали: “Нет проблем”, но система оказалась перегруженной и стала зависать ни много ни мало по нескольку раз в день.
На этом примере видны все основные причины возникновения “некачественности”:
- низкое качество конструирования;
- отсутствие системного подхода при планировании КИС;
- плохое обслуживание при внедрении и сопровождении;
- низкое качество ПО.
При этом английские ученые даже не поднимают вопрос о принципиальной примитивности изделия, которое может быть произведено таким образом (а это и будет главным пунктом “некачественности” после того, как программа наконец заработает). Простой опрос мнений операторов и менеджеров об их видении будущей системы пригоден лишь для конструирования базовой версии изделия, предназначенной для автоматизации учета, но никак не автоматизации коммерческой или производственной деятельности в целом. Решением учетных задач в мире занимались десять и более лет назад. Сегодня, говоря о КИС, мы заходим гораздо дальше: КИС должна повышать общую организационную эффективность фирмы и быть частью ее системы качества.
Современный подход к развитию систем качества в области КИС и ПО обозначен на рис. 1.
Рис. 1. Современная модель качества КИС и ПО
Анализ качества ИС и анализ качества ПО
Как справедливо отметил Л. Хелленс [3], фирмы, разрабатывающие и внедряющие КИС, должны отдавать себе отчет в том, что они предоставляют услуги, а не производят товар. Написание программ - это лишь малая часть работы по созданию КИС. Если мы посмотрим список проблем “английских товарищей”, то увидим, что к производству ПО относится только одна из них. То же самое мы видим и при анализе качества ИС при присуждении международных и национальных премий*1 фирмам за хорошее качество изделий.
_____
*1. Любопытно, как даты учреждения премий отражают расширение географии развития систем качества: 1981 г. - Dening Prize, Япония (Ассоциация японских ученых и инженеров); 1987 г. - Malcolm Bridge National Quality Award, Северная Америка; 1988 г. - European Quality Award, Европа (учредители - 14 ведущих европейских фирм); 1996 г. - Российская премия за качество, Россия.
Так, при анализе изделий, выдвинутых на премию Malcolm Bridge, учитываются 20 критериев с общей суммой в 1000 баллов, из них лишь 250 баллов приходятся на технические аспекты качества.
Объединяя работу по созданию КИС и ПО в одно целое, фирма-разработчик зачастую слишком сосредотачивается на ПО, забывая о системе. Отклонившись от правильного курса в самом начале - при конструировании, программисты не слишком заботятся о внедрении того, что “уже нехорошо”. В результате проект проваливается.
Кому все это нужно?
Если отбросить общие фразы типа: “Это нужно людям для хорошей жизни, а фирмам для выживания”, то останется следующее: знание современных идей в области качества позволяет заказчику найти грамотного поставщика, а поставщику убедить заказчика в том, что он способен хорошо выполнить поставленную задачу. Примерно так формулируется и цель стандарта ISO 9000.
Посмотрим, на что надо обращать внимание потенциальному заказчику ИС при выборе поставщика услуг КИС, разработчика ПО и при подготовке соответствующих контрактов.
Разное качество с разных точек зрения
Китченхам и Пфлегер справедливо замечают в [4], что фирмы, предоставляющие услуги по созданию КИС, “увеличивают стоимость фирм-заказчиков” и именно на это должны быть направлены их усилия.
Для экономически развитых стран эта фраза наполнена вполне прагматичным смыслом. Повышение коммерческой эффективности фирмы повышает дивиденды инвесторов по акциям, дивиденды повышают биржевую стоимость акций, общая стоимость акций и есть стоимость (капитализация) фирмы.
Поэтому главный критерий качества КИС - ее способность повысить коммерческую эффективность деятельности всей фирмы. Это - критерий качества с точки зрения руководителя фирмы.
В современном мире КИС - неотъемлемая часть фирмы. Она позволяет анализировать работу всей фирмы и отдельных ее подразделений, она позволяет оптимально планировать производство и ресурсы, учитывать рабочее время и управлять работой людей. С этой точки зрения КИС должна быть эффективна на всех участках работы.
Эффективность деятельности фирмы - это и ее система качества. Современные системы качества составляют часть КИС. Что ограничивает полет мысли ИТ-директора при планировании КИС? Только бюджет!
Успешные фирмы не появляются вдруг, они живут долгой жизнью, развиваются и вместе с ними должны развиваться и КИС. Это означает, что в лице поставщика КИС и ПО надо иметь надежного и компетентного партнера. Это означает также, что за развитие КИС (как и за все остальное) надо платить.
Быть или не быть - вопрос для КИС, увы, первостепенный. Слишком большое число проектов (как за рубежом, так и у нас) следовало бы признать провальными. Проекты терпят фиаско чаще всего на стадии внедрения, так как не выдерживают критики со стороны пользователей: “Медленно работает, часто сбоит, в неудобной форме выдает данные, не предоставляет всех нужных данных, слишком сложна, слишком проста, "я-и-так-устаю-за-целый-день,-чтобы-еще-с-вашей-дурацкой-программой-возиться!"”.
Это критерии качества с точки зрения пользователя. Сюда входит общее качество офисной работы, полнота информации, точность данных, устойчивость программ и данных по отношению к пользовательским ошибкам и сбоям аппаратуры.
Стандарт ISO 9126 [5] рекомендует анализировать также и точку зрения разработчика. Правда, несколько расплывчато (п. 5.2.2: “Поскольку разработчики ответственны за производимое программное обеспечение, которое должно удовлетворять требованиям качества, они заинтересованы в качестве промежуточного программного продукта, так же как и в качестве конечного продукта”).
Критерии качества с точки зрения разработчика - техническое качество работы (быстродействие, надежность), пригодность к сопровождению и развитию, устойчивость - полностью относятся к компетенции системы качества ПО.
Можно строить и другие структуры критериев и параметров качества. Ниже приведена структура характеристик качества, которую предлагает стандарт ISO 9126 [5] (да и то в качестве нормативного приложения, как пример, оговариваясь, что фирмы могут применять совершенно другие наборы характеристик, лишь бы они удовлетворяли общим требованиям стандарта).
Характеристики качества
Как мы видим, несмотря на то, что стандарт претендует на полноту анализа, т. е. рассматривает качество всей КИС, предлагаемый авторами набор характеристик, по сути, затрагивает лишь качество ПО. От стандарта, вышедшего в 1991 г., большего ждать и не приходится.
Как рождается качество
Один из героев Р. Уоррена говорит: “Добро не приходит с небес и не существует вечно на земле. Человек создает Добро походя, изо дня в день своими руками, из ничего, из дерьма. Так же как Господь сотворил человека из глины, не имея под рукой другого подходящего материала”. Эта мысль, положенная в основу теории познания (только по отношению к знаниям, а не к Добру), применяется И. Нонакой и Х. Такойчи [6] для описания процесса создания качества японскими корпорациями. В основе процесса “спираль познания” (рис. 2).
Рис. 2. Спираль создания и накопления знаний
Из рисунка довольно легко понять ход мыслей японских ученых. Знание возникает на основе практического опыта в форме интуитивных ощущений и может накапливаться лишь посредством коллективной работы многих:
- передача интуитивных знаний невербальным образом: имитация, “обучение в процессе”, документирование образцов;
- обобществление путем описания интуитивных ощущений по аналогии с другими знаниями;
- обобщение разнородного опыта и поиск закономерностей, выработка языков, систем и теорий для точного и явного выражения знания;
- адаптация знаний: изучение теорий, языков, систем с тем, чтобы знание стало интуитивным, действующим.
Применяя данную концепцию к процессу создания систем качества в отрасли разработки КИС, финские ученые И. Тервонен и П. Керола [7] предложили спираль развития системы качества (и технологии разработки) КИС в целом. В несколько вольной и расширенной трактовке автора она изображена на рис. 3. Из рисунка следует, что в процессе работы индивидуальные ощущения специалистов, “что такое хорошо и что такое плохо в смысле качества КИС”, должны стать достоянием всей фирмы. В виде документов, образцовых программ, технологии и базы знаний (если таковая существует на фирме) эти ощущения становятся знаниями и позволяют поднять общую культуру работы (процесс адаптации знаний или “впитывания” культуры). В свою очередь новые уровень мышления и технология позволяют увидеть и обобщить новые интуитивные ощущения качества на еще более высоком уровне. Круг замыкается, спираль системы качества раскручивается.
Рис. 3. Спираль развития системы качества КИС
Таким образом, мы приходим к основному методу оценки системы качества. Это - “метод оценки зрелости фирмы-разработчика”. Действительно, у нас нет метрологии качества КИС, методы оценки качества ПО развиваются, но пока не получили всеобщего признания. Нет также и методов оценки качества процесса конструирования, разработки и внедрения. Что же остается? Разработать методы оценки опыта развития фирмы. Чем отличается дурак от умного? Тем, что умный уже был раньше дураком, а дурак умным - еще нет.
Методология оценки зрелости развивается уже несколько лет [8, 9]. Путем анкетирования степень развития фирмы авторы этих работ определяют по соответствию некоторому идеалу. Примерно так, как врачи определяют степень здоровья по соответствию анализов норме. У каждого автора идеал обычно связывается с некоторым реальным примером производства. Отсюда и частые обвинения в “антропоморфизме” (а иногда и в попытке опубликовать скрытую рекламу).
Тем не менее в методах оценки зрелости фирмы-разработчика есть рациональное зерно. Когда мы приходим в магазин, мы общаемся с продавцом. Как бы ни был мил директор и широк ассортимент, если продавец хамит, мы уходим с пустыми руками (магазин обычно со временем закрывается). Нам не повезло, а магазин - сам виноват. При внедрении КИС “невезение” может обойтись в миллионы рублей. Магазин может заявлять о наличии системы качества и демонстрировать расписание работы с персоналом. Однако для того, чтобы считать такую систему качества зрелой, требуется большее. Знания о качественной работе должны быть зафиксированы в форме учебников для новичков, в форме четких инструкций, предусматривающих материальную ответственность нарушителей, в организационной структуре и десятках других опубликованных носителей знаний. Эти знания накапливаются в практической работе и должны быть усвоены всеми сотрудниками. Контроль освоения знаний - обязательный элемент современной системы качества.
Обслуживание системы качества и накопление знаний удобно выполнять с применением собственной информационной системы (т. е. сапожник должен быть в сапогах).
Методы оценки зрелости фирмы применимы не только к отрасли информационных систем, но и ко всем фирмам, производящим услуги (а также могут дополнять анализ произвольной системы качества). Отраслевые отличия сказываются только в перечне шагов и ступеней, которые по общему признанию должна пройти фирма в развитии своей системы качества.
Истина конкретна: новые публикации вводят новые характеристики для оценки зрелости фирмы, а объективное представление о качестве требует обобщения опыта многих фирм. Получается, что делиться знаниями полезно - они возвращаются преумноженными. Давайте делиться!
Литература
1. ISO 9000-3: ISO 9001. Общее руководство качеством и стандарты по обеспечению качества. Ч. 3: Руководящие указания по применению ISO 9001 при разработке, поставке и обслуживанию программного обеспечения. Женева, Международная организация стандартов, 1991.
2. Taylor M. J., DaCosta J. L. Soft Issues in IS Projects: Lessons from an SME Case Study. Systems Research a. Behavioral Sc., 1999, v. 16, № 3.
3. Hellens L. A. Information systems Quality versus Software Quality - A discussion from a managerial, an organizational and an engineering viewpoint.
Inform. a. Software Technol. 1998, v. 39, № 12.
4. Kitchenham B., Pfleeger S. Software quality: the elusive target. IEEE Software, 1996, 13 (1).
5. ISO/IEC 9126. Информационные технологии. Оценка продукции программного обеспечения. Характеристики качества и инструкции по их применению. Женева, Международная организация стандартов, 1991.
6. Nonaka I., Takeuchi H. The Knowledge-Creating Company - How Japanese Companies Create the Dynamics of Innovation. Oxford, Oxford University Press, 1995.
7. Tervonen I., Kerola P. Towards deeper co-understanding of software quality, Inform. a. Software Technol., 1999, v. 39, № 14 - 15.
8. Paulk M. C., Curtis B., Chissis M. B., Weber C. V. Capability maturity model, version 1.1. IEEE Software. 1993, 10 (4).
9. Humphrey W. S. CMM: Capability Maturity Model - A method for Assessing the Software Engineering Capability of Contractors. Carnegie Mellon University, Software Engineering Institute, 1996.
Связаться с автором можно по электронной почте: eme@eme.ru.