Проектирование архитектуры — это не картинка со стрелками между квадратами. Это набор решений, каждое из которых потом дорого менять: откуда система берёт данные, что считается истиной при расхождении, какие роли существуют и что происходит, когда внешний сервис недоступен. Если эти ответы не получены до разработки, их всё равно придётся дать — только уже под давлением сроков.
Что проектируется до кода
- Источник правды по каждому блоку: заказы, документы, остатки, платежи, статусы. Один блок — один источник.
- Интеграции: с чем связываемся, по какому протоколу, с какой частотой и кто отвечает за справочники.
- Роли и права: кто что видит, кто что меняет, как выдаётся и отзывается доступ.
- Жизненный цикл документа или заявки: состояния, переходы, кто и на каком шаге принимает решение.
- Поведение при отказе: что показывает система, если 1С, банк или внешний сервис недоступны.
- Данные, которые нельзя терять: журнал изменений, история статусов, требования по защите.
- Этапы: что выходит в первом контуре, что во втором, где точки проверки.
В управленческом контуре для группы из пяти агропроизводств проектирование началось именно с этого списка: обследование процессов, источники данных, роли пользователей. Дальше появились архитектура решения и интеграционный слой, и только после этого — подключение 1С, СКУД и внутренних баз пяти производств. Итог: 63 пользователя, данные за предыдущий день вместо недельного ручного сбора, шесть месяцев от обследования до сдачи.
Роли проектируются раньше интерфейсов
В многоролевой системе главный источник переделок — интерфейс, собранный «по сущностям базы», а не по задачам ролей. В системе оценки квалификации для СПКФР работают пять ролей со своими интерфейсами: соискатель, эксперт, центр оценки, совет и администратор. Заявление, экзамен, протокол и передача сведений в реестр идут одним процессом вместо переписки и файлов — и каждая роль видит свою очередь задач. Плюс три внешние интеграции и требования 152-ФЗ к защите данных: три месяца до ввода в эксплуатацию.
- Сначала описывается маршрут процесса, потом экран, который его обслуживает.
- Права доступа фиксируются до разработки: кто видит, кто меняет, кто утверждает.
- Состояния показываются явно: на каком шаге документ, кто следующий, что блокирует.
- История действий доступна: кто изменил статус, когда и на каком основании.
Интеграции: где чаще всего ломается проект
Интеграция — это не «обмен по API», а правила совместной жизни двух систем. Проверяются четыре вещи: кто владеет справочником, с какой частотой идёт обмен, как разрешаются конфликты и что система делает при недоступности второй стороны. Если эти правила не заданы, проект идёт в срок, а потом месяцами лечит расхождения.
- Справочники: номенклатура, контрагенты, подразделения — у каждого должен быть владелец и правило создания.
- Частота обмена: реальное время, раз в час или по событию. Это выбор, а не следствие технологии.
- Конфликты: кто побеждает, если данные изменились в двух местах, и как это видно пользователю.
- Деградация: что показываем, когда источник недоступен, и какие действия блокируем.
- Проверка: как убеждаемся, что данные сошлись — сверки, а не «мы посмотрели глазами».
До открытия приёма заявок было семь дней, сайта не было, даты утверждены официальным положением и перенести их нельзя. Мы запустили первый релиз платформы премии, а затем по ходу проекта превратили её в систему: заявки с модерацией, каталог участников, двухэтапное голосование и антифрод. В итоге — 871 участник и более 50 000 голосов.
Как выглядит результат проектирования
Результат — не презентация, а рабочий документ, по которому можно оценивать бюджет и запускать разработку: карта процессов, перечень ролей и прав, схема интеграций с владельцами данных, перечень сущностей и состояний, план этапов с составом первого контура. Плюс честный список того, что в проект не входит.
- Требования к системе на понятном языке — согласуются с руководителями, а не только с ИТ.
- Схема интеграций: системы, протоколы, частота обмена, владельцы справочников.
- Модель ролей и прав, включая администратора и внешних участников.
- План этапов с содержанием первого контура и точками проверки результата.
- Оценка бюджета и сроков — с допущениями, названными вслух.
Сколько это стоит и сколько занимает
Базовое обследование — 50 000 ₽ за 7 дней: процессов и требований хватает, чтобы запускать разработку. Расширенное — 75 000 ₽ за 10 дней: добавляется экономическое обоснование и материалы, с которыми можно защищать бюджет перед руководством или советом директоров. Проектирование дешевле первой переделки: пересмотр архитектуры после запуска обычно стоит как несколько обследований.
Нужно спроектировать систему до разработки?
Проведём обследование, зафиксируем требования, роли, интеграции и этапы. На выходе — документ, по которому можно считать бюджет и начинать работу.