Принципы совершенствования

В [14.3] сформулированы следующие принципы совершенствования качества программных систем:

  • поэтапность,
  • непрерывность,
  • цикличность,
  • наличие стимула,
  • ориентация на цели,
  • проектный подход.

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

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

Бизнес-процесс улучшения требований характеризуется цикличностью (см. Процесс совершенствования): его основные этапы повторяются на все более высоком уровне. Циклы оптимизации в софтверных организациях удобно приурочивать к проектам, выполняемых в рабочих группах. Анализ недостатков целесообразно производить тогда, когда они в "оперативной памяти" группы проекта, например - один раз в середине проекта и один - сразу после его окончания. Каждый проект по-своему уникален и несет в себе потенциал для улучшения процессов.

Основным стимулом к изменениям К.Вигерс считает трудности, с которыми столкнулась команда проекта, например:

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

Изменения технологических процессов должны быть целеориентированы. Примеры целей:

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

Действия по совершенствованию процессов должны планироваться, контролироваться и управляться, как мини-проекты. Это упрощает выделение требуемых ресурсов, отслеживание перемен и оценки результативности изменений.