Итак, вот прямо сейчас для тестового задания по ADR мучаю ИИ на предмет контроля полноты вариантов решения (подробнее смотрите в записи моего доклада на сентябрьском SD). ИИ выкатывает мне кучу вариантов решений, которые отличаются друг от друга незначительными с моей точки зрения деталями. Например, для решения
стратегическое направление развития монолитной системы для масштабирования
накидывает кроме очевидных "масштабировать, как получается, или отрефакторить":
🔹 выделить отдельный сервис для такой вот фигни
🔹 заменить логику на eventual consistency
🔹 добавить очередей
🔹 разделить в БД такие-то данные
и различные сочетания этих вариантов. В целом, количество таких "дополнительных вариантов" может исчисляться десятками, чем шире задача, и тут недолго впасть в аналитический паралич и запилить ADR на 20 страниц в ворде, в котором все эти варианты будут расписаны в деталях (как в моей практике у некоторых и происходит).
Все эти варианты объединяет одно - они все являются вариациями одного единственного варианта "отрефакторить систему". И так как задача звучит как "определить стратегическое направление развития", то на этом этапе они неважны. Если решение "рефакторить" будет принято, то там уже можно в другом ADR прорабатывать более низкоуровневые решения с определением, как именно (откладывание ключевых решений на least responsible moment).
Именно ИИ грешит генерацией таких опций, так как обладает непомерным багажом