CUSTIS

Промышленное качество

Формула качества

Существующие подходы и стандарты, как правило, связывают понятие качества ПО непосредственно с качеством процессов (разработки, тестирования и т. д.). Но даже самые «тяжелые» процессы не смогут обеспечить высокое качество ПО, если они не будут реализованы квалифицированными специалистами с помощью проверенных инструментов.

Мы попытались определить «формулу качества» — такой универсальный рецепт, который позволил бы гарантированно получить высокое качество в любом проекте.

Очевидно, что «провал» любой из составляющих этой формулы приведет к низкому качеству продукта. Для успеха проекта необходимо высокое качество всех трех составляющих.

А знаете ли вы, что...

Конечно, приведенная формула отражает не все составляющие процесса создания качественного продукта. Более полное представление дает схема акта деятельности.

Качество на всех этапах

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

 
Проектирование Разработка Внедрение Сопровождение
Люди Проектирование - Люди Разработка - Люди Внедрение - Люди Сопровождение - Люди
Процессы Проектирование - Процессы Разработка - Процессы Внедрение - Процессы Сопровождение - Процессы
Технологии Проектирование - Технологии Разработка - Технологии Внедрение - Технологии Сопровождение - Технологии

Значение процессов на этапе разработки

Несмотря на большое разнообразие методологий разработки, ни одну из них нельзя в чистом виде применить к конкретному проекту, имеющему свой неповторимый контекст — заказчика, задачу, команду и многие другие факторы. Мы изучаем интересные новшества и отбираем то, что оказывается ценным для нашей компании и наших проектов. Отдельные практики взяты нами из Agile-методологий. Благодаря итерационному подходу к разработке заказчик каждые две недели видит, как продвигается проект, помогает определить наиболее приоритетные задачи на следующую итерацию и подтверждает, что продукт развивается в правильном направлении.

Чтобы узнать, какие «Технологии» применяются на этапе «Проектирование», нужно щелкнуть на пересечении соответствующих столбца и строки.

— Многих интересует вопрос — какой САПР вы применяли для создания великолепного Cray-1? — спросили Сеймура Крэя.

— Помню, я использовал карандаш третьего номера и разлинованную квадратной сеткой бумагу.

Что в результате

Благодаря «встраиванию» качества во все этапы разработки системы и вовлеченности заказчика в процесс создания ПО мы достигаем требуемого — можно даже сказать «заказного» — уровня качества системы. А регулярные демонстрации системы помогают нам сделать «абстрактное» качество «видимым» для заказчика.

«Программистов много,
но их реальная дифференциация состоит в способности создания ПО высокого качества» (Бертран Мейер).