SAT FUSIONПРАКТИКА АРХИТЕКТУРЫ ПО

Амбициозный софт для амбициозных компаний. нет. ничья система не «амбициозная». она старая, и трогать её дорого.

SAT Fusion — практика архитектуры ПО, Чехия

Меня нанимают, чтобы делать системы меньше.

Меня зовут, когда система уже есть и уже болит: релизы стали медленными и дорогими, ядро никто не хочет открывать, а те, кто её собирал, уже не могут объяснить её целиком. Я её читаю, нахожу часть, которая действительно несёт бизнес, отрезаю остальное, перепроектирую этот критический путь и вывожу результат в production. Не в презентацию.

Один архитектор.
От первого разговора
до production.

Изометрический разрез каркаса: три разнесённых уровня с колоннами, связями и размерными выносками

С чем зовут

Четыре рода работы

Починить

чаще всего звонят по этому

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

Смотреть пример

Построить

Новая система, которую с первой недели строят под production, а не предложение о ней. Начинается с разговора о бизнесе, кончается тем, что работает под реальной нагрузкой, с архитектурой, которую следующий нанятый сможет прочитать.

Как это идёт

Связать

Там, где система встречается с внешним миром: железо, платёжные рельсы, государственные платформы отчётности, потоки от поставщиков. Неверное допущение на этом шве обычно не баг. Это инцидент с регулятором, рядом с которым стоит ваше имя.

Где это было

Возглавить

Техническая ответственность без найма. Не доля человека на долю времени, а полный доступ к одному — зовут под решение, слишком крупное, чтобы принимать его в одиночку, и отпускают, когда оно принято.

Обсудить

Два случая в разных масштабах времени

Заказчики называются по запросу, а не на странице
Розница · торговое оборудование

Демонстрация срывалась неделями. Через четырнадцать дней первый аппарат работал на улице.

Розница через торговое оборудование под государственными правилами прослеживаемости драгоценных металлов: каждая транзакция должна быть доказуема, а не просто записана. Системе восемь месяцев, её строили восемь человек, переписывать было нельзя.

Болело не качество работы: никто не мог провести продукт от первого шага до последнего и сказать, что он готов. Силы уходили на то, что понадобится через год, а первый выпуск недооценивали.

Один вопрос ко всему: что мешает нам выйти в production завтра? Сначала записали, что система уже умеет, — нельзя безопасно убрать то, чего никто не записал. Потом около 80 % написанного снесли, остальное достроили. То, что было одним неразделимым куском, разошлось на тринадцать частей, с которыми можно работать по одной.

Присоединился 17 июня, первый тестовый прогон 30 июня, с 1 июля первый аппарат работал, и товар до него возил живой курьер подрядчика. Это срок выхода, а не срок работы: основной объём лёг за следующие два месяца, когда бизнес уже шёл на этой системе.

  • 8 месяцев в работе на момент входа
  • команда из 8 человек
  • ~80 % кода снесено
  • 13 самостоятельных частей
  • 14 дней до первого аппарата в проде
Подробности в разговоре
Банки · регуляторная отчётность и внутренние системы

Пятеро не могут держать в голове пятьдесят разных миров.

Команда примерно из пяти человек отвечает приблизительно за пятьдесят приложений, восемь-десять в работе одновременно. Считать надо было не приложения, а переключения между ними: у каждой системы свои привычки, свой способ собираться и выходить, своя форма.

Пестрота выглядела технической задачей, а была человеческой. Значительная часть парка приложений построена в 2005–2010 годах, и каждая система до сих пор носит привычки года, в котором родилась. Но болело не это. Болело то, что каждый вход в чужую систему стоил дня вспоминания, — и пятеро перестают справляться задолго до того, как кончатся пятьдесят приложений.

Стандартизируется боль, а не технология: один способ собрать систему, один способ её выпустить, один способ настроить. То, что не болело достаточно, оставлено как есть — часть парка приложений до сих пор разговаривает между собой по-старому, и оставить это дешевле, чем приводить к одному виду.

Чем видно, что боль снята: когда среда сменила свои требования, сами приложения почти не сдвинулись. Изменилась одна тонкая прослойка — и изменилась одинаково у всех, кого это коснулось. Первое изменение сделал самый дорогой человек в команде, остальные повторили самые дешёвые. Работа, которая прежде означала бы перестройку пятидесяти приложений, стоила почти ничего. Остальное следует оттуда же: более 60 % парка приложений переписано, перевезено или построено по-новому, и с инцидентами спокойно.

Подробности в разговоре

Три хода, в этом порядке

Как идёт работа
  1. 01

    Читать

    Записать, что система делает сегодня, — до того, как у кого-то появятся мнения о том, как надо. Нельзя безопасно убрать то, чего никто не записал.

  2. 02

    Резать

    Убрать то, что не несёт нагрузки. Большинство систем тащат больше веса, чем нужно бизнесу; это скульптура, а не наращивание, и это бо́льшая часть работы.

  3. 03

    Перестроить

    Перепроектировать критический путь и построить его, пока система остаётся живой. Результат — релиз в production, а не презентация о нём.

Двадцать лет чужих трудных мест

Что уже проходило через руки
20+ летв коммерческой разработке
от 2 месяцев до 4 летсрок выбирает заказчик: он решает, когда снова возьмёт владение системой на себя. Дальше я остаюсь на расстоянии звонка.

Ниже восемь областей, и список не полный. В пяти отвечал за результат целиком; в трёх — за архитектуру или за код внутри чужого решения.

«Технический владелец» — тот, кто говорит с бизнесом на языке бизнеса, а с разработчиками и кодом на языке IT.

Банки

Регуляторная отчётность для американского регулятора, антифрод, маршрутизация финансовых документов, корпоративный портал.

Технический владелец
Страхование

Системы для международной группы.

Разработка
Нефть и газ

Электронный документооборот для бухгалтерии.

Технический владелец
Зелёная ипотека

Государственная программа субсидирования ставки для энергоэффективного жилья: одна из воронок входа и восемь с лишним систем, которые надо держать связанными за ней.

Разработка
Розница

Раскладка полок и планограмм, аналитика для категорийных менеджеров.

Технический владелец
Торговое оборудование

Розница под государственными правилами прослеживаемости драгметаллов.

Технический владелец
Лаборатории

Одна лабораторная информационная система и её интеграция с приборами по ZigBee.

Архитектура и разработка
Мобильные игры

Собственные проекты, вне работы по найму.

Технический владелец
Портретфото ещё нет
Без передачи и без подмены

Всё несёт один человек

Тот, кто читает вашу систему, — тот же, кто пишет исправление, и тот же, кто потом объясняет его вашей команде. Ничего не спускается тому, кто на этой неделе оказался свободен.

Один человек несёт — не значит, что на нём всё держится. Проверка простая: после ухода хорошего инженера система продолжает работать, после ухода плохого разваливается сразу.

Это не бутиковая привычка. Именно поэтому архитектура из случая выше спустя месяцы после передачи всё ещё совпадает с кодом.

Павел Цибер

Начните отсюда

Расскажите, что болит дорого.

Для первого разговора хватит двух вещей: чем болит и одна цифра, которую можно измерить, — часы, деньги, доля отказов, просрочки по SLA. По ней нам обоим и будет видно потом, стало ли болеть меньше. Не тикет и не спека.

[email protected]

Сложность — обыденность.
Ясность — нет.
Давайте это починим.