Так ведь никто ж не призвывает не соблюдать
Хотя я действительно написал смешную фразу... Не процент применимости, конечно, а доля в общих затратах на разработку и эксплуатацию.


Кстати сказать, в силу описанного выше возникают два побочных эффекта:

1) Влияние окружения на стоимость разработки (стоимость в любых ресурсах) зачастую существенно.
И эта стоимость зачастую превышает стоимость начальной модели и её алгоритмического решения.

2) В огромном кличестве практических случаев попытка минимизировать эту стоимость приводит к нарушению начальной модели (кривым заплаткам). Я не говорю, что это хорошо, я констатирую факт, с которым нельзя не считаться.

Ну а тестирование, как все справедливо отмечают, позволяет сохранить хоть какую-то видимость инварианта (независимости от процесса исправления глюков)