Почему это реальная проблема?
Бизнес-правила, особенно в скоринге или ценообразовании, со временем меняются. Если пороги (50 и 70 баллов) жёстко зашить в код, каждое изменение правила потребует нового релиза, тестирования и развертывания. Это медленно, дорого и рискованно.
Что должен был сделать аналитик:
Выделить варьируемые параметры – в данном случае пороги и, возможно, саму шкалу.
Требовать, чтобы эти параметры хранились во внешней конфигурации (файл, база данных, административная панель) и могли изменяться без перекомпиляции и передеплоя.
Зафиксировать в требованиях механизм динамической настройки – например, «система должна считывать пороги скоринга из таблицы БД при старте и периодически перечитывать их без остановки».
Почему не подходят другие варианты:
A (нагрузочное тестирование) – не связано с изменчивостью правил.
C (согласование с юристами) – полезно, но не решает проблему частых изменений.
D (формальная спецификация) – нужна, но без гибкости всё равно потребуется перекомпиляция.
Реальный кейс:
В одном банке кредитные пороги менялись раз в месяц. Они были закодированы в Java-классах. Каждый раз команда делала релиз (2 дня). После перехода на конфигурационный файл с автоматической перезагрузкой изменения стали занимать 10 минут.
Что должен зафиксировать аналитик (расширенное требование):
«Пороговые значения для принятия решения по скорингу должны быть вынесены во внешний конфигурационный файл или базу данных. Система должна перечитывать их без перезапуска при изменении. Интервал перечитывания – не более 5 минут. Изменение порогов не должно требовать остановки работы системы».
Дополнительные аспекты:
Аудит изменений – кто, когда и почему изменил порог.
Валидация новых порогов (например, нижний порог не может быть выше верхнего).
Возможность A/B-тестирования разных порогов в разных сегментах клиентов.
Вывод: Аналитик обязан выявлять параметры бизнес-правил, которые могут меняться со временем, и закладывать их во внешнюю конфигурацию. Это ускоряет внесение изменений и снижает стоимость доработок.