Всем привет! В своей работе архитектору всегда важно не только постоянно использовать и определять лучшие практики, но и знать то, как делать не нужно, то есть антипаттерны.
Под Новый Год мне захотелось немного созорничать, и я решил написать легкий текст-сказку про не самые правильные практики и их последствия. Конечно, мне бы хотелось сказать, что все ситуации выдуманные, но, увы, часть из них основана на личном опыте или опыте своих друзей. Думаю, вы тоже сможете увидеть ситуации, с которыми сами сталкивались в работе.
Я постарался образно описать антипаттерны из разных дисциплин: не только из ИТ-архитектуры, но и из разработки, а также проектного или продуктового управления, ведь архитектор часто сталкивается с этими дисциплинами. Посмотрим, сколько антипаттернов вам удастся найти – в конце сказки я приведу ряд примеров, которые точно присутствуют в тексте :)
Любые совпадения случайны, автор и в мыслях не хотел кого-то задеть или обидеть.
Приятного чтения!
![](https://habrastorage.org/getpro/habr/upload_files/82d/d88/e34/82dd88e34885fc00c4f02c8166550c73.jpeg)
Придет осень, за все спросит
В некотором царстве, в некотором государстве жил-был народ: трудолюбивый, дружный, верный. Правил этим народ царь, а помогал его идеи в народ нести главный воевода Архип. По мере времени разрастался народ, плодился, и стало не хватать тех домов, где жили их предки. Настала пора расширяться и строить новые жилища.
![](https://habrastorage.org/getpro/habr/upload_files/733/cac/8eb/733cac8eb1712779a286ed4998292a39.jpeg)
Поручил царь Архипу созвать мужиков со всех деревень и дома новые срубить. Думу думал Архип, какие же дома построить: их текущие лачуги то и дело латать приходилось – то ветер налетит, то дождем зальет. Решил он снарядить дружину и по соседним народам проехаться, чтобы опыт перенять. Проскакали они быстро несколько городов, побратались с жителями, да и про задачу свою рассказали. Один народ дома каменные возводил и предлагал помочь с этим, дав мужей ученых, чтобы все правильно рассчитали да научили камень класть – у них дома еще прадеды ставили и до сих пор стоят. Только думает Архип: а где же ему столько камня взять? Местность их богата лесами и реками, а каменоломни ближе к горам в сотнях верст. Не подходят им каменные дома, хоть и веками простоять могут. Другой народ вообще предлагал готовые юрты поставить, мехами обшитые. Очень Архипу идея с юртами понравилась: и до зимы можно успеть, и тепло в них. Пошел он к царю за звонкой монетой, чтобы юрты эти заказать.
![](https://habrastorage.org/getpro/habr/upload_files/8a1/ec7/b15/8a1ec7b155a1fd56b66e1d8a0203ba27.jpeg)
Понравилась царю идея с юртами, но заметил он, что тогда зависеть будут они от того народа как от производителя и должны ему доверять. А сам царь с малого детства знал, что доверять можно только тому, что сделал сам или, по крайней мере, в его случае, видел, как делали – негоже царю руками что-то делать. Велел царь Архипу свои дома-юрты делать и ставить. Максимум, чего добился Архип – разрешения собрать Совет из представителей других народов, чтобы помогали и направляли. Правда, по осени все дороги развезло, и Архип не стал собирать отряды, чтобы привезти гостей – решил через гонцов письмами обмениваться.
Отправив Архипа дело делать, успокоился царь, что все будет построено и велел рассказать об этом по всей округе, чтобы знал народ, что царь заботится о них и скоро все будут жить в новых теплых жилищах, построенных по самым современным технологиям. Стал народ вещи собирать, к переезду готовиться.
Гибридность - всему голова
Архип тем временем все размышлял над тем, какие дома строить. Никак не мог он определиться и выбрать путь, словно в паралич впал. Так вот и ходил чуть ли не месяц. Понимал он, что не знает никто из мужиков, как юрты делать – они их в глаза даже не видели. Времени изучить, как и зачем строились эти юрты, не было – зима на носу. Также не верил он, что смогут они собрать достаточное количество меха, чтобы утеплить юрты. Однако царские гонцы уже по всем деревням разнесли новость, что будут у народа теплые юрты. Шел Архип, пока не наткнулся на опушке леса на землянку и пронзила его мысль: пусть сверху дом будет выглядеть как юрта, а внизу под ней будет землянка, которая народ от холода зимой убережет. И красиво, и тепло: землянки же не видно. А юрты можно один в один сделать по рисункам, которые после визита остались.
До того Архипу идея с гибридными землянками понравилась, что стал он всем говорить, что деревня их превратится в град стольный, который столицу затмит. Предвидел он и улицы мощеные с мостами и переходами, водопровод, а не колодцы на концах деревни, и частокол деревянный для безопасности от зверей диких и ворогов. До того ему такая идея понравилась визионерская, что сам он в нее поверил да всех жителей заразил.
![](https://habrastorage.org/getpro/habr/upload_files/6c5/c56/5a0/6c5c565a0609b5020a0fee5f79703f74.jpeg)
Зима была совсем близко и задач важнее строительства быть не могло – про осенний покос и сбор урожая все намеренно забыли – кое-какие запасы еще с прошлого года остались. Провел царь собрание всенародное, на котором и объявил, что приоритет наивысший отдается строительству, и просил беспокоить его только по этим вопросам. Назвал он теперь свой народ народом-строителей, а то, что были известны они как землепашцы, оставил он в прошлом.
Управление должно быть мягким, а приказы - строгими
Вместе со всеми проникся идеей и Ванька – простой землепашец из соседней деревни. Решил он оставить, как было наказано, свое земледелие позади и пойти строительством заниматься. Попал он в одну из бригад, что раньше в земледелии общинами назывались – новая задача требовала новых идей в управлении.
Когда Ванька только знакомился с мужиками, вспомнил Архип, что в детстве один из наставников много рассказывал про битвы и говорил, что дух у людей поднимается в борьбе и конкуренции. Решил использовать этот подход Архип и при строительстве: бригаде Ваньки, как и двум еще другим, сформированным раньше других, наказал срубы делать. Причем решил дать им полную свободу выбора: материал, размеры, тип и все прочие вещи бригады определяли сами. Хотел он взять построенные этими бригадами срубы за примеры для будущих землянок.
![](https://habrastorage.org/getpro/habr/upload_files/194/60f/5a1/19460f5a17b51a722b26ca9bb61dfc3e.jpeg)
Спустя пару седмиц получил Архип 3 разных сруба: один был величественно красив – хоть царя приглашай погостить, второй был очень компактным и теплым, а Ванькина бригада показала лишь половину сруба, но зато крепко сбитую и с рядом интересных придумок. Однако несмотря на красоту первого, получился он хлипким да тонким – понимал Архип, что по весне может сломаться он, когда почва гулять будет. Второй был всем хорош, да только строила его молодая бригада, где детишек ни у кого не было – даже не задумались они о том, что по 4-5 человек в землянке должно находиться. Вот и сделали их крохотными на двух человек – как в таких зимовать?
Пришлось брать вариант Ваньки и его друзей-землепашцев да верить, что вторую половину сруба построят все без проблем. Ждать, пока вторую половину бригада доделает, никак не получалось – наступали холода.
Гол как сокол, а остер как топор
Тут и мужики со всех деревень собрались и приступили к строительству. Архип же в свою очередь ходил по бригадам и смотрел, как дела идут. Заметил он, что каждая бригада своими инструментами пользуется: кто-то пилит все, кто-то топорами и рубанками орудует, кто-то ножами режет, а молотками прибивает. При этом постоянно жалуются, что инструментов не хватает и они постоянно ломаются. Решил Архип унифицировать деятельность – использовать единый инструмент для всего. Ведь это и дешевле в ремонте, да и быстрее будет – хотел он выбрать самый лучший инструмент. Решил Архип, что самым универсальным инструментом будет топор – им и деревья удобно валить, и сучья обрубать. И ведь, верно, приспособились мужики топором не только лес рубить, но и гвозди забивать. Да, тяжелый он – и руки устают, и гвозди, бывают, частенько гнутся. Вбил гвоздь криво – надо доставать, поэтому приделали к топору еще гвоздодер с обратной стороны. А несколько мужиков даже рисунки на ставнях с помощью топора научились вырезать. Дошло даже до того, что пара умельцев-строителей из бывших поваров умудрились еще и кашу из топора сделать. Очень универсальный инструмент получился! А то, что гвоздей стало расходоваться больше, стало больше щелей между бревнами да от рисунков дети пугались и плакали – разве это повод для волнений или недовольства? Топоры, кстати, делали сами, достав чертежи дедов своих и смахнув с них пыль.
![](https://habrastorage.org/getpro/habr/upload_files/b49/8c7/ea2/b498c7ea25f26980f1f03500a50c6e80.jpeg)
Решили мужики все же сначала ямы вырыть, сток для воды сделать, а потом уж каркас бревенчатый сделать. И на каркасе работу распределить по бригадам для ускорения: каждой отдать по стенке и пусть делают. Все ходили к Ванькиной бригаде смотреть, как у них сделано, чтобы повторить все до мелочей по наказу Архипа. Видят мужики: внизу одной стены, которой раньше не было, несколько отверстий по паре вершков сделано, а в середине стены несколько брусков прибито. Пожали плечами и у себя все дружно также сделали. Чудно смотрится, но спросить не у кого – Ванькина бригада все время где-то бегала, всем помогала. Только уже вкопав сруб в землю, Ваньку отловили и выяснили, что отверстия те сделаны для слива воды, а на бруски топоры клали. Ванька только плечами пожимал, почему так придумали. Говорит, одному из мужиков в его бригаде брат рассказывал, что видел такое у своего свата. Правда, мужики и сами догадались воду отводить, но сделали это по центру и в специальную яму, куда вода уходила, а топоры вообще на поясе носили, поэтому те отверстия и набитые на стене бруски пользы особой не несли. Разве что помогали потешаться над женами, когда в землянки мыши забегали по этим отверстиям да пугали их до визга.
У кого детки, у того и бедки
Мужиков много на стройку приехало – многие из них с собой и семьи с ребятишками взяли. Сдружились они с местными да по дворам бегали в игры играли. Активней всех был сынок Безия – другого воеводы, знакомого Архипа. Шустрым малым он был, не сиделось ему на месте, все время хотелось ему попробовать и самому что-то срубить да построить. А силенок пока мало, сучки мокрые, лезвия у топоров острые – не уследили за ним, он и порезался.
![](https://habrastorage.org/getpro/habr/upload_files/87b/b89/2e1/87bb892e1936671586772de1cddbc7eb.jpeg)
Наказали, конечно, Ваньку, чьим топором малыш порезался, да в подвал посадили. Дивился Ванька: топоры у всех на крыльце валялись, а схватил ребенок именно его инструмент. Причем, как поняли, что это его топор – тоже удивлялся, ведь всегда мужики кидали топоры в кучу. Видать, следил кто, куда он свой положил – решил Ванька.
Архипу и воеводам было же понятно, что не решит это проблемы – нужно более мудрое решение. Работу то остановить велели до особых распоряжений – мало ли что еще случится, а ребятню всю по домам заперли, чтобы не бегали по дворам. Три дня сидели думу думали всеми воеводами, орали, спорили, чуть бороды друг другу не поотрывали. Некоторые даже топоры с собой принесли, чтобы лучше думать, но хорошо в сенях оставили да в бруски их воткнули.
Пригласили мудрецов за звонкую монету, чтобы те проконсультировали, подсказали чего да идей накидали. Совещались мудрецы, перешептывались, да и насоветовали с десяток всяких идей. И про образование детворы говорили, и про демонстрации наглядные, и про грамоты всякие важные с регламентами и техникой безопасности связанные, и про хранилище закрытое, и про чехлы кожаные. Только слушал Архип в пол уха. Где же время и деньги на все это взять? – думал он. Кто же грамоты все эти писать будет, кто детей учить будет да ждать, пока они вырастут, кто амбар построит надежный, где топоры хранить, откуда столько коров взять, чтобы чехлы пошить? Не подходят все эти мысли, зря только мудрецов позвали – думал он. Один из воевод даже предложил вместо кожаных чехлов просто деревянные бруски использовать и показал свой топор, но все равно вспыхнуло обсуждение, как использовать эти бруски: топор в них втыкать или бруски сами на лезвие насаживать. Так и снова не договорились, проспорив еще три дня.
Решили в итоге топоры затупить и продолжить работу, ибо безопасность – важнее всего. Объявили всем запрет на заточку топора. Да, рубить стало менее удобно, стало больше сучков оставаться, скорость упала, но ничего, зато никто не поранится. Правда, не у одного брата топор слетал с бревна и задевал другого, но сильных увечий не было – топоры же тупые.
Видел Архип, что дело замедляется, не успеют до зимы. Потолковал он с Безием, да и решили все же разрешить точить топор, ибо сил уж нет, как медленно лес рубят, но точить теперь можно только по 5 движений ровно с каждой стороны. Не густо, но хотя бы что-то. И пошли мужики топоры точить – то камней точильных не хватит, то кладут их куда ни попадя и найти не могут, а лес рубить надо, зима то скоро! Да и заточки надолго не хватает: срубишь пару веток - надо снова топор точить, неудобно же. И придумали мужики приспособить к лезвию топора другое лезвие, но от ножа. Умельцы-кузнецы смогли приладить новое лезвие к старому – топор снова стал острым, и работа пошла. Все ходили радостные и довольные: и работа идет, и правила о заточке соблюдаются. Безий по стройке ходил и с прищуром за мужиками наблюдал, но ничего не делал, ибо формально наказ его исполнялся, чем себя он и успокаивал. Если уж и порежутся, то не потому, что небезопасно, а потому что топор нормально держать не умеют – решил он.
В работе разгар, а лодырь на базар
Так и шла работа. Выпал первый снег, а значит не за горами уже и зимняя ярмарка, куда разные народы приезжают и свои товары продают и показывают. Решил Ванька развеяться и на праздники на ярмарку съездить, подбив еще пару мужиков за компанию, чтобы и других посмотреть, и себя показать. Отпросился он у Архипа, снарядил коней да с попутным ветром доскакали они с мужиками за пару дней. Добрались и смотрят: в поле всяких шатров стоит видимо-невидимо как будто до края света. Пошли наши мужики смотреть на товары. Зашли на инструменты посмотреть и видят: на полотне крупными буквами написано «Третье поколение гвоздодеров». Дивятся мужики: ты смотри, какая штучка, людям честным впаривают, облапошат же! То ли дело мы все гвозди своими топорами вытаскивают – зачем еще один инструмент для этого нужен?
![](https://habrastorage.org/getpro/habr/upload_files/530/542/f1d/530542f1dbd9f218ec7009d166439b75.jpeg)
Дальше идут мужики и видят, что на полянке дети кружочком сидят, а пара молодцев с топорами в руках им что-то показывает, объясняет. Тут же и пара пеньков стоит, куда молодцы топоры вбивают, явно показывая, как лучше это делать. Вообще дивятся мужики, сколько детей на ярмарке бегает: то там посмотрят, то там потрогают, то там научатся. И никто никого взаперти не держит, а наоборот просвещают, дают культуру впитать с малых лет.
Идут дальше: возле леса стоят другие мужики, общаются, смеются, бахвалятся. Стоят только немного странно, по группкам, а на доске рядом с каждой группой слова то какие-то непонятные написаны: консорциум такой, консорциум сякой. Пожимают плечами мужики – непонятно, в чем толк? Ну поговорить мы и сами можем, выпить тоже. Правда, смотрят, у всех мужиков одного консорциума лезвия на топорах одной формы и размера, да чехлов разных видимо-невидимо. Посмотрели наши на свои чехлы и вздохнули: у кого веревкой просто обмотано, у кого – в тряпку завернуто, у кого – в кусок кожи. Воеводы же так и не договорились, как правильно и лучше всего топоры хранить.
На ярмарке той и награждения проходили: тем мужикам с третьим поколением гвоздодеров приз, кстати, дали. Наши мужики тоже не промах – взяли почетную награду за универсальность инструмента. Сильное впечатление произвела демонстрация топора, когда им и рубили, и кололи, и резали, и гвозди забивали и выдергивали. Довольны мужики были, ходили и хвастались: никто такого в мире не придумал, чтобы гвозди топором выдирать.
Мужики домой поехали, а Ванька на мастер-класс еще по рубке деревьев сходил, вдохновился, нахватался премудростей, еще пилу и гвоздодер ему подарили, вернулся в деревню и предложил мужикам использовать их. Те его осадили, дали топор в руки и отправили на свой участок леса. Надо ли говорить, что сбежал он в соседний народ через пару седмиц с проезжавшими мимо купцами. Погоревал Архип, ибо смышленым малым был сбежавший Ванька, затосковал, да и впредь решил на ярмарки поменьше ездить и с людьми там не общаться – мало ли чего покажут. А уж если и отпускать кого из мужиков, то только в награду и только проверенных людей, которые абы с кем общаться не будут и подробно потом все ему по возвращению опишут.
Так вот незаметно все землянки и построили, осталось сверху юрты поставить. Да только не понимал никто, зачем они нужны, поэтому решили отложить на потом. Со строительством в царстве было покончено, как минимум, до весны, Архип и воеводы все цели свои выполнили, а царь уже грезил мореплаванием, для чего решил наречь теперь он свой народ мореходами с нового года, но об этом уже совсем другой рассказ.
Использованные антипаттерны:
Analysis paralysis, когда тратят неимоверно много времени на анализ требований. Архип был ровно в таком состоянии, когда пытался понять, какие дома ему строить.
Bikeshedding, когда тратят кучу времени на обсуждение незначительных деталей. Споры воевод о том, как использовать бруски: топор в них втыкать или их на лезвие насаживать. Как велолюбитель, я не мог пройти мимо этого антипаттерна :)
Boat anchor, когда часть системы остается в эксплуатации, хотя ни для чего не используется. Отверстия в стенах, которые были изначально сделаны для слива воды, а потом только использовались мышами, пример такого антипаттерна.
Cargo Cult Programming, когда используют, не разобравшись. Те же отверстия в полу и бруски на стенах землянок – вполне подходящие примеры, когда мужики не стали выяснять, почему так сделано.
Copy & paste, когда бездумно копируют. Один из примеров - случай с юртами, когда просто решили их использовать, несмотря на другой климат и природные условия.
Death march, когда проект ожидает провал, который отрицает менеджмент, а сотрудники продолжают работу (часто с переутомлением). Несмотря на очевидные неудобства c заточкой, мужики все равно продолжили работу.
Fast beats Right, когда делают что-то побыстрее лишь бы сделать вместо того, чтобы разобраться в том, как лучше решить эту задачу. Не случайно на протяжении всего повествования упоминается наступление холодов и зимы: во многих случаях необходимость торопиться определяла не самые правильные решения.
Found on Internet, когда разработчики находят примеры в Интернете и немедленно их используют в продакшене. Здесь в роли интернета выступил сват брата одного из мужиков в бригаде Ваньки, который посоветовал отверстия и бруски посередине стены.
Golden hammer/silver bullet, когда одной вещью пытаются решить сразу все задачи. В нашем случае «золотым» был не молоток, а топор, которым делали все в ущерб качеству и скорости.
Not invented here, когда предпочитают делать все сами вне зависимости от обстоятельств. Решение царя о строительстве домов с нуля следует этому антипаттерну, хотя из-за сжатых сроков и отсутствия компетенций было бы разумнее приобрести готовое проверенное решение и затем уже самим его адаптировать.
А какими антипаттернами вы бы описали гибрид юрты и землянки, а также ситуации с Безием и ярмаркой?