Оценка стоимости ошибок

Некоторое время назад ряд компаний провел исследование оценки стоимости ошибок, возникающих на разных этапах создания программ. Каждая фирма действовала независимо, тем не менее результаты получены примерно одинаковые: если стоимость усилий, необходимых для обнаружения и устранения ошибок на стадии написания кода, принять за единицу, то стоимость выявления и устранения ошибки на стадии выработки требований будет в 5—10 раз меньше, а стоимость обнаружения и устранения ошибки на стадии сопровождения — в 20 раз больше (рис. 2.1).

/ 0,1—0,2

Этап

Время выработки требований

/ 0,5

Проектирование

/ 1

Кодирование

/ 2

Тестирование компонентов

/ 5

Приемка

20

Поддержка и обслуживание

Рис. 2.1. Оценка стоимости ошибок на разных этапах создания ПО

Откуда берется такая высокая стоимость ошибки? Ко времени обнаружения ошибки в требованиях группа разработчиков уже могла потратить время и усилия на создание проекта по этим ошибочным требованиям. В результате проект, вероятно, придется отбросить или пересмотреть [1].

Истинная природа ошибки может быть замаскирована; при проведении тестирования и проверок на данной стадии все думают, что имеют дело с ошибками проектирования, и значительное время и усилия могут быть потрачены впустую.

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

  • 1. Повторная спецификация.
  • 2. Повторное проектирование.
  • 3. Повторное кодирование.
  • 4. Повторное тестирование.
  • 5. Замена заказа — сообщить клиентам и операторам о необходимости заменить дефектную версию исправленной.
  • 6. Внесение исправлений — выявить и устранить все неточности, вызванные неправильным функционированием ошибочно специфицированной системы, что может потребовать выплаты определенных сумм возмущенным клиентам, повторного выполнения определенных вычислительных задач на ЭВМ и т. п.
  • 7. Списание той части работы (кода, части проектов и т. п.), которая выполнялась с наилучшими побуждениями, но оказалась ненужной, когда обнаружилось, что все это создавалось на основе неверных требований.
  • 8. Отозвание дефектных версий встроенного программного обеспечения и соответствующих руководств. Если принять во внимание, что программное обеспечение сегодня встраивается в различные изделия — от наручных часов и микроволновых печей до автомобилей, — такая замена может коснуться как этих изделий, так и встроенного в них программного обеспечения.
  • 9. Выплаты по гарантийным обязательствам.
  • 10. Ответственность за изделие, если клиент через суд требует возмещение убытка, причиненного некачественным программным продуктом.
  • 11. Затраты на обслуживание — представитель компании должен посетить клиента, чтобы установить новую версию программного обеспечения.
  • 12. Создание документации.
 
< Пред   СОДЕРЖАНИЕ     След >