Вчера подумал вот о чем. Вот есть же всякие пацаны из IT, которые вроде как знают, что такое архитектура информационных систем. Это когда не "херак, херак и в продакшн", а когда разработчик еще немножко подумал, как же то, что он создал соотносится с другими подсистемами, как же это потом дальше поддерживать, масштабировать, обеспечивать отказоустойчивость и консистентность, прости господи. А кто-то даже понимает, чем хорошая архитектура отличается от не очень. Может быть даже Брукса читал. Кому-то повезло, и он даже работал с качественной архитектурой, а кому-то не очень, и ему приходилось добавлять костыли к плохой, чтобы хоть как-то развивать продукт.
Мне вот повезло не очень. И я видел несколько примеров плохой архитектуры, или даже её отсутствия. В одном случае в результате ковбой-кодинга целую систему пришлось заморозить (а это значит остановить в развитии), т.к. каждые новые функции добавлялись в неё при помощи костылей. Да и после добавления все шло к чертям, т.к. эти костыли влияли на уже работающий функционал и нужно было потратить пару месяцев, чтобы пережить "прививание" и пофиксить все баги. Во втором случае, я видел, как система, также в результате ковбой-кодинга, являет собой живой хрипящий труп, чья логика работы напоминает "Сад наслаждений" Босха. При этом, обе системы работали. Правда, ни та, ни другая уже давно не удовлетворяли требования бизнеса.
И тут есть две проблемы. Первая - что постепенно превратить плохую архитектуру в хорошую можно, но это будет долгий рефакторинг, который в основном будет решать проблемы старой архитектуры, и пока эти проблемы не будут решены, новый функционал обязан будет подождать. Что не очень хорошо с точки зрения бизнеса. Хотя бы в краткосрочной или среднесрочной перспективе. А вторая - что как правило дешевле и быстрее создать новую качественную архитектуру с нуля, чем оптимизировать своё технические наследие.
Кстати о наследии. Вот многие пацаны из IT используют понятие технического долга. В этом, конечно, они молодцы. Только и тут есть два момента. Во-первых, я не встречал ни одну компанию, которая бы полностью или хотя бы частично позволила бы себе отдать накопившийся технический долг. Просто потому, что у них на это нет времени, т.к. постоянно появляются новые требования и задачи, а ресурсы разработки всегда ограничены. А во-вторых, пацаны из IT в силу своего технического образования, плохо понимают смысл долга, который является понятием экономическим. И в этом понятии самое главное не то, что долги подразумевается отдавать. А то, сколько подразумевается отдавать. Технический долг - это долг, по которому должник обязан платить проценты. Проходит время, и сумма долгового обязательства только растет. И самое интересное начинается тогда, когда сумма начинает превышать капитал заёмщика. После этого момента архитектуру можно считать несостоятельной и начать процедуру банкротства.
Архитектурный кризис наступил. И пацанам из IT приходится принимать "сильные управленческие решения", которые так или иначе будут сопровождаться замедлением темпа развития (ведь нужно кинуть ресурсы на выплату долгов) и негодованием пользователей (ведь им придется подстраиваться под новую бизнес-логику). И для IT такие ситуации - обычное дело. Наверное, любая продуктовая IT-компания сталкивается с такими проблемами и каким-то образом их решает, а потом идет дальше к светлому будущему. Но я не об этом.
Представим, что как существуют архитектуры IT систем, так есть и архитектуры экономических систем. Например, архитектура экономики государства. И точно также, как IT-архитектуры, экономические архитектуры развиваются и добавляются новыми функциями. Точно также, экономические архитектуры строятся на каких-то своих основных сущностях, которые представляют собой ядро бизнес-логики. Как любая математическая теория строится на каких-то аксиомах. Например, на том, что основой экономики должна быть добыча нефти. Точно также, экономические архитектуры вырабатывают свой экономический долг. И точно также, как и IT-архитектуры, экономические архитектуры устаревают и уже не способны справляться как с требованиями самого государства, так и с требованиями его граждан. В результате чего наступает точно такой же, как и в IT, архитектурный экономический кризис.
И точно также, как и IT, только уже другим пацанам, придется принимать "сильные управленческие решения", которые соответствующим образом будут отображаться на пользователях продуктов, построенных на текущей экономической архитектуре. Т.е. нас с вами. Мы с вами уже видели примеры изменения экономической архитектуры на примере России раз пять или шесть за последние сто лет. И всегда это были значительные социальные потрясения. Не сказать, что архитекторы тогда попадались хорошие, но у меня компетенций судить их нет.
А я вот о чем. Видится мне, что текущая экономическая архитектура начинает немножечко потрескивать. Нет, она работает, просто необходимые изменения в неё вносятся трудновато. Вспомнить хотя бы костыли с пенсионными реформами. И я очень хочу верить, что текущие архитекторы будут намного профессиональнее предыдущих, хоть я и не нахожу подобных на нашей политической сцене (правда, я с ней и не особо знаком, если уж совсем быть честным). Очень хочется верить, что текущие архитекторы все-таки выберут плавный переход со старой на новую архитектуру, т.к. с России уже хватит кардинальных поворотов в экономике. И очень хочется верить, что у этих архитекторов будет достаточно квалификации в том числе и в продакт-менеджменте, чтобы воспринимать государство "как продукт" для людей, который люди могут выбирать из аналогичных продуктов. Введение понятия подобной "конкуренции за людей" кардинальным образом способно решить многие социальные и экономические проблемы.
P.S. Фотка просто для завтравки =)
#ПрофессорВещает #БалаболияИАнализ