В программной инженерии собрана огромная статистика по проектам самого разного размера, во сколько обходится исправление ошибок в коде. Есть, в частности, популярная метрика Defect removal efficiency (DRE) — процент багов, которые были выявлены на этапе разработки, до выката в продакшен и эксплуатации в течение 90 дней.
Например, DRE = 75% означает, что с момента начала разработки до завершения эксплуатации в течение трёх месяцев в системе суммарно было выявлено N багов, 75% из которых удалось обнаружить во время разработки, но после деплоя вылезло ещё 25% багов.
Самое важное при использовании метрики DRE — это стоимость устранения бага в продакшене. В американских проектах он оценивается где-то порядка 5,000 долларов на фикс, хотя реальность скорее всего гораздо хуже. В процесс втягивается немало людей — программистов, менеджеров, тестировщиков, техподдержка по телефону и даже вживую на местах. Вдобавок, у клиента складывается весьма негативный образ провайдера сервиса: я лично был свидетелем, когда стартап из десятка человек закрылся, потому что не удавалось быстро исправлять баги в активно эксплуатируемой системе, и основной заказчик ушёл к конкурентам.
По стандартной статистике, когда DRE=75%, в маленьком проекте объёмом тысячу строк кода в эксплуатацию пробираются две ошибки, что обходится в 10,000 долларов.
При приближении проекта к сотне тысяч строк кода количество багов переваливает за сотню, и стоимость их фикса приближается к миллиону долларов, а в системе из миллиона строк кода приходится фиксить у клиентов уже тысячи ошибок, расходуя многие миллионы долларов.
Однако когда DRE доводится хотя бы до 98%, а как это делать, в программной инженерии известно давно, в проекте из 100 тысяч строк найдётся всего дюжина ошибок, на их фикс уйдёт 50-70 тысяч долларов. В среднем экономия на фиксах и патчах получается более чем на порядок.
А когда DRE = 99,99% (что тоже известно как добиваться), то исправление багов продакшена даже в проекте на миллион строк уложится в единичные тысячи долларов. По сути, вообще не в каждом таком проекте находится в итоге хотя бы один баг.
И мне всю жизнь стенали менеджеры, и вы наверняка тоже много раз слышали от начальников, что у них нет ни времени, ни денег на улучшение процесса разработки. С учётом, что одна формально отлаженная (окончательно задеплоенная в мастер) строка кода в западных системах обходится в 20-40 долларов, исправление ошибок эксплуатации уже в довольно небольшом проекте на сотню тысяч строк при стандартной DRE 75% скушает около ТРЕТИ первоначального бюджета.
У нас абсолютные цифры отличаются скорее всего, хотя не думаю что сильно, потому что зарплаты программистов на руки, как минимум до этого года, были в какой-то степени сравнимы с западными после вычета всех их налогов и страховок. Ну неважно, потому что относительные значения у нас такие же, если не хуже :)
И, да, объяснить это ИТ-начальникам в точке А практически нереально, но зато можно показательно повозить их мордой об рельсу в точке Б, если по ходу проекта собирать соответствующую статистику.
Быстрое представление по теме можно получить, например, из классики
“Software Quality in 2011: A Survey of the State of the ART”
https://drive.google.com/file/d/1fhmt6_r_hM1nbkhANXqd..
Автор — легендарный Capers Jones , топовый эксперт по качеству разработки самых сложных в мире софтверных проектов.
https://vk.com/wall-152484379_2069
https://vk.com/wall-152484379_2470
Его книги вечная классика программной инженерии
"The Economics of Software Quality"
"Software Engineering Best Practices : lessons from successful projects in the top companies"
===
Высшая школа программирования Сергея Бобровского