КАЧЕСТВО ПО
В конце сентября в Санкт-Петербурге прошли первая в России конференция "Дни качества в разработке ПО" (Software QA Days) и несколько сопутствующих мероприятий, которые организовал консорциум "Форт-Росс" (www.fort-ross.ru).
Спонсором конференции стала корпорация IFC - в рамках своего проекта ICT Connect Russia (www.russia-software.com/ICT) по поддержке российского офшорного программирования.
Перед началом конференции компания RUSSEE (www.russee.com/ru) и Институт программной инженерии (SEI) при университете Карнеги - Меллона провели открытые тренинги на тему "Оценка проектов".
Проблема качества ПО появилась одновременно с возникновением программирования. Именно она стала одной из движущих сил в разработке различных методологий и инструментальных средств для проектировщиков и программистов (здесь можно вспомнить структурное программирование Дейкстры, языки Алгол-60, Паскаль и т. д.). Но по мере превращения программирования в промышленное производство ПО становилось очевидно, что в дополнение к этим методологиям и инструментальным средствам необходимы более широкие подходы и действенные средства для обеспечения качества ПО, аналогичные тем, которые применяются в других отраслях промышленности.
Промышленное производство основано на стандартах. В области стандартов ПО ключевую роль играет американский Институт управления качеством (Quality Assurance Institute - QAI, www.qaiusa.com). В других странах создаются отделения этого Института, которые являются независимыми (в том числе и от самого QAI) общественными организациями, пропагандирующими использование стандартов управления качеством. С этой целью они способствуют развитию отношений специалистов и компаний, проводят обучение и сертификацию аналитиков в области качества (Certified Software Quality Analyst, CSQA), тестеров (Certified Software Tester, CST) и менеджеров по управлению проектами (Certified Software Project Managers, CSPM). На конференции "Дни качества в разработке ПО" выступил представитель QAI Майк Прегмон. Он подробно рассказал о деятельности института, а затем было учреждено его российское отделение (Russian Federation Quality Assurance Institute Chapter, или Russian QAI Chapter), участниками которого стало более 30 фирм. (Уже разработана программа семинаров отделения на 2003-2004 гг., с нею можно ознакомиться на странице www.fort-ross.ru/qaichapter/events.asp.) Знаменитые стандарты ISO 9000 широко используются в различных отраслях промышленности для решения проблемы качества, но они не очень подходят к производству ПО, хотя многие крупные софтверные компании и применяют их (подробнее об этом см. PC Week/RE, N 31/1999, с. 17).
В последние годы в области обеспечения качества ПО все большее признание получают модели CMM (Capability Maturity Model), основанные на оценке зрелости процессов производства. В рамках концепции CMM было развито несколько моделей, из которых SW-CMM (русский перевод ее описания см. на www.ryabikin.com/sw-cmm ; на основе SW-CMM разработан стандарт ISO/MCC 15504) предназначена собственно для разработки ПО. В конечном счете все они были объединены в CMMI (www.sei.cmu.edu/cmmi), и с 2005 г. будет поддерживаться только она. Именно рассмотрение обеих этих моделей и опыта их применения и стало основной темой конференции "Дни качества в разработке ПО".
Мукул Мадан из индийского отделения QAI (www.qaiindia.com) провел авторизованный SEI тренинг по введению в CMMI. Суть СММ, наверное, лучше всего выражает высказывание одного из ее основоположников: "Качество программной системы в высокой степени определяется качеством процесса, используемого для ее разработки и поддержки" (отсюда вывод: чтобы создать программный продукт более высокого качества, необходимо сфокусироваться на самом процессе его разработки).
Доклад г-на Мадана удачно дополнило выступление Андрея Масаловича, президента консорциума "Инфорус", рассказавшего о применении CMM в небольшой софтверной фирме. Он взглянул на СММ со стороны заказчика, который благодаря этой модели может с большей определенностью выбрать поставщика, заранее предусмотреть необходимые меры на случай возникновения рисковых событий (г-н Масалович подчеркнул, что трудности подобного рода для зарубежных заказчиков при взаимодействии с российскими фирмами значительно ограничивают шансы последних на получение заказов), получить количественные критерии выбора при сопоставлении потребностей бизнеса, условий и оценочной стоимости проекта со зрелостью конкурентов-поставщиков. Исполнитель же с помощью СММ развивает культуру постоянного совершенствования, разрабатывает процессы, соответствующие целям бизнеса и оптимизации использования ресурсов (текст выступления Андрея Масаловича можно скачать с www.inforus.org).
Применение CMM в России сейчас сдерживается малочисленностью экспертов по оценке ее внедрения, эта проблема обсуждалась на конференции, и можно сказать, что она начинает решаться благодаря, в частности, финансовой и организационной помощи корпорации IFC.
На вопрос, почему им интересны стандарты по качеству ПО, участники конференции - представители российских софтверных фирм, преимущественно работающих на экспорт, отвечали следующее:
· "Если нашим потенциальным заказчикам это нужно или хотя бы наше общение основано на этих терминах, то стандарты нужны и нам".
· "При общении с заказчиками нам это не нужно: новые заказчики у нас появляются потому, что нас рекомендуют старые. Но нам интересны стандарты, чтобы повысить уровень управляемости фирмой и качество выполняемых ею проектов".
· "Нам стандарты интересны и из-за заказчиков, и как средство повысить уровень управляемости фирмой".
· "Мы работаем только на внутреннем рынке, но сертификация по стандарту, "корочка" поможет нам выигрывать тендеры крупных федеральных структур".
В число первых российских компаний, внедривших CMM и получивших соответствующие сертификаты, входят петербургский центр разработки ПО компании Motorola и фирма Digital Design, представители которых рассказали о своем опыте.
Процессы обеспечения качества ПО должны поддерживаться инструментальными программными средствами. На конференции менеджеры фирмы Telelogic Джаред Пулхам и Ян Хартли рассказали о продукте DOORS/ERS 7.0, используемом на этапе управления требованиями в процессе итеративной разработки, а также о том, как продукты их фирмы в рамках процесса создания приложений на основе UML 2.0 помогают обеспечивать качество ПО.
Тестирование - это обязательный этап на пути обеспечения качества ПО независимо от используемых методологий и стандартов. Вячеслав Березин из компании "Аплана" (www.aplana.ru) рассказал о средствах тестирования из линии продуктов IBM Rational, об особенностях "ручного" и автоматизированного тестирования, привел аргументы "за" и "против" передачи тестирования сторонней, специализирующейся на этом компании. Фирма Mercury Interactive - один из лидеров мирового рынка средств тестирования, ее продукты представил менеджер Кис ван ден Бринк.
Некоторые доклады, прочитанные на конференции, можно найти на сайте консорциума "Форт-Росс". В дальнейшем, возможно, конференция "Дни качества в разработке ПО" будет проходить в рамках форума Software Outsourcing Summit.