Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК конспект заключение.doc
Скачиваний:
17
Добавлен:
11.04.2015
Размер:
225.28 Кб
Скачать

35.3. Оценка качества процесса разработки

Как было отмечено выше, существует два подхода, которые могут применяться для оценки качества программного продукта:

  1. Оценка качества конечного продукта.

  2. Оценка качество процесса разработки.

Оценить качество конечного продукта можно тестированием и эксплуатацией. На это должно быть отведено время после завершения основной работы над программой. А вот второй подход должен стать частью долговременной стратегии компании.

35.3.1. Модель зрелости процесса разработки по

В этой модели определено пять уровней зрелости для организации – разработчика ПО:

Начальный уровень. На этом уровне процесс разработки характеризуется практическим отсутствием процессов управления. Успех проекта зависит от индивидуальных усилий, личных качеств и даже героизма участников проекта.

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

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

Управляемый уровень. В компании устанавливаются детальные количественные показатели на процесс разработки и качество продукта. И процесс разработки, и продукты – понимаемы и контролируемы.

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

35.3.2. Определение возможностей и улучшение процесса создания по

Данная модель очень близка к модели зрелости, но уровни возможностей могут быть применены не только к организации в целом, но и к отдельно взятым процессам. Модели такого типа часто называют непрерывными. В непрерывных моделях один процесс может находиться на низком уровне зрелости, а другой – на высоком уровне. Стандарт определяет шесть уровней зрелости процесса:

Уровень 0. Процесс не выполняется.

Уровень 1. Выполняемый процесс.

Уровень 2. Управляемый процесс.

Уровень 3. Установленный процесс.

Уровень 4. Предсказуемый процесс.

Уровень 5. Оптимизирующий процесс.

Во время оценки и улучшения качества процессов выполняются следующие задачи.

Сравнение процесса разработки программного обеспечения, существующего в данной организации, с описанной в стандарте моделью. Анализ результатов дает возможность определить сильные и слабые стороны процесса, его внутренние риски.

Оценка возможности улучшения данного процесса на основе определения текущих возможностей.

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

35.4. «Достаточно хорошее» по

Понятие «достаточно хорошее» ПО обычно применяет к «безнадежным проектам», которые связаны жесткими ограничениями на время, бюджет и людские ресурсы.

В большинстве безнадежных проектов заказчик может быть удовлетворен системой, которая достаточно дешева, достаточно производительна, обладает необходимыми возможностями, достаточно устойчива и будет готова достаточно скоро. Фактически, эти характеристики можно считать определением «достаточно хорошего» программного обеспечения.

Оказывается, что даже «достаточно хорошее» программное обеспечение создать сложно. Рассмотрим некоторые причины дающие объяснение этого факта.

Зачастую качество стремятся определить только в терминах ошибок. Однако с точки зрения пользователя не менее важна готовность ПО к определенной дате.

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

Считается, что для создания «достаточно хорошего» ПО необходимо учитывать следующие условия:

Утилитарная стратегия – искусство количественного анализа и максимизации чистого выигрыша в неопределенных ситуациях.

Эволюционная стратегия – рассматриваемая не только по отношению к жизненному циклу проекта, но также к людям, процессам и ресурсам.

Героические команды – не могучие гениальные программисты, а обычные умелые специалисты, способные к эффективному сотрудничеству.

Динамическая инфраструктура – противоположность бюрократии и засилию политики.

Динамические процессы – процессы, поддерживающие работу в эволюционной среде.

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