Система фиксации и мониторинга дефолтов - штука трудоемкая и трудносоставная. Полагаю, она такая во всех банках. Как-никак система эта основывается на весьма обширных требованиях ЦБ. Непростых и обширных требованиях.
В нашем банке это была, наверное, самая сложная система, в проектировании которой я участвовала. И, конечно, предусмотреть в ней все на этапе проектирования было невозможно.
Также, как и предусмотреть, ворох последующих изменений, сделавших архитектуру еще замысловатее.
Звучит знакомо, не так ли? О чем-то похожем я уже писала. В статье про комитеты по дефолтам. Однако, "похожее" тут не значит "такое же".
Из проекта по мониторингу я вынесла немного... другие уроки. Возможно, банальные. Только их истинность я впитала на практике. "Доверяй, но проверяй" - хорошая присказка. И тут она как-никак в тему.
Первое, что я выучила - время.
Даже не просто "время", а время, выданное в достаточном количестве. Без него, увы, распланировать, реализовать, протестировать и сделать все перечисленное хорошо невозможно.
Вторая простая истина - люди.
Их не должно быть много. Даже не 10 человек - предел управляемости команд, а меньше: человека три-четыре. Сложную логику и общую картину в головах так держать проще.
Третья - информация.
Общая картина в головах должна обновляться синхронно. Для этой цели умные люди задолго до нас сообразили рисовать и показывать друг другу схемы. Раз нарисовав, важно ее обновлять. И важно, очень важно, следовать нарисованному.
Четвертое - качество данных.
Его валидация надо делать с первого дня. Не тогда, когда система начала выдавать чудеса (особенно, если система такого масштаба). С первого дня. По нашей системе я вижу, сколько проблем мы сумели бы избежать, сколько человеко-часов сэкономить, сделали бы мы валидацию с самого начала.
И последнее - SLA (Service Level Agreement) на качество данных.
Его заключение с поставщиками не менее важно, чем внутренние проверки. В конце концов, если на вход регулярно будет приходить непонятно что, то любая, даже самая крутая и классная, система начнет работать по принципу "garbage in - garbage out".
Как итог.
Мы сделали хорошую систему. Не идеальную, конечно, но вполне рабочую. И я получила в процессе бесценный опыт, как и где сделать лучше, и каких ошибок стоит избегать, если жизнь снова подкинет мне задачку аналогичного масштаба.