Проектирование архитектуры
Решения приняты и записаны так, что следующий нанятый их прочитает.
Ситуация
Несколько решений потом будет очень дорого отменять.
Пока их не приняли, всё кажется одинаково возможным. После — половина вариантов закрыта, и никто уже не помнит, чем именно платили за оставшийся.
Что происходит
У каждого решения называется цена отмены. Не правильно или нет, а сколько будет стоить передумать через год. Это единственный вопрос, который отличает архитектурное решение от вкусового: вкусовое отменяется за день.
Границы режутся так, чтобы вместе покрывали всё и не пересекались. Зона, за которую отвечают двое, — это зона, за которую не отвечает никто. Ничейных мест не остаётся: у каждой части системы есть тот, кого спрашивают.
Записывается там, где код, а не в отдельном документе. Документ рядом с кодом расходится с ним за месяцы и потом воюет против нового решения. Решение, записанное внутри решения, живёт столько же, сколько оно само.
Строится, а не рисуется. Архитектура, по которой не собрали работающую вещь, — мнение.
Что вы получаете
Решения, которые следующий нанятый прочитает без вас, и границы, которые держатся, когда команда сменилась.
Как это было
Один-два объекта проглотили половину системы. Их развели на тринадцать самостоятельных частей, не останавливая продакшен и не переписывая систему, которой было восемь месяцев от роду и которую строили восемь человек.
Прошли месяцы после передачи — архитектура всё ещё совпадает с кодом.
В другом месте пятьдесят приложений держала команда из пяти. Один способ собрать, один — выпустить, один — настроить. Когда среда сменила требования, приложения почти не сдвинулись: поменялась одна тонкая прослойка, одинаково у всех, кого это коснулось.
Чего здесь нет
Схемы и документа как результата. Архитектура, которую не построили, — не архитектура, а мнение.
И не единообразия ради красоты: то, что не создаёт проблемы, остаётся разнородным намеренно.
С чего начать
Назовите решение, которое вам предстоит принять и которое страшно принимать. И то, что случится, если через год окажется, что выбрали неверно.