Теория Костыльности и её практическое применение в BizOpsDev321
Автор(ы): Буш Сергей, Гаврилов Евгений
Введение
Теория Костыльности — это русскоязычная адаптация концепции Residuality Theory, предложенной Барри О’Рейлли. В отличие от буквального перевода как “Теория Остатков”, понятие “Костыльность” точнее отражает суть происходящего в реальных ИТ-системах: живые архитектуры выживают и развиваются не вопреки костылям, а благодаря им. В рамках BizOpsDev321 мы осознанно и практически применяем Теорию Костыльности для построения устойчивых, боевых, долгоживущих систем.
Появление Теории Костыльности позволило нам яснее и точнее описывать часть нашей практики и коллективного инженерного опыта. Как не раз подчеркивал сам Барри О’Рейлли, именно стремление выразить внутреннее, эмпирическое знание построения ИТ-систем и подтолкнуло его к формализации этой теории. Аналогично и наш путь в BizOpsDev321: собственный многолетний опыт подвиг нас к созданию практики, в процессе которой были выявлены и собраны воедино целые группы законов и фреймворков — от модифицированного Закона Галла до Каневина и концепта “Большая Глина №4” как метафоры остаточной архитектуры.
Что такое Теория Костыльности?
В русскоязычной инженерной культуре «костыль» традиционно означает временное, неидеальное решение — часто с негативным оттенком. Мы же используем этот термин иначе. Костыль в Теории Костыльности — это остаток после стресса, зафиксированное знание, укрепившее систему. Это не баг, а ответ на неожиданный вызов от complexity, который помог системе выжить и продолжить работу.
Архитектура, в таком понимании, — это не абстрактная чистая схема, а физическая память о том, что уже случилось и было преодолено.
В основе Теории Костыльности лежит идея, что:
● Костыли — это остатки боевых стрессов.
● Каждый костыль — это не баг, а зафиксированное знание.
● Система с костылями — это система, адаптирующаяся к complexity, к ее неожиданным, непредвиденным и самым невероятным обстоятельствах (см. пример Мюнхенское Мясо от Барри).
Согласно подходу Барри О’Рейлли, архитектура — это не схема, не диаграмма и не набор паттернов, а совокупность остатков от реальных изменений. Он называет это “residues”, и предлагает выявлять их через рандомизированный анализ стрессоров и аттракторов.
Мы идем дальше: называем это Костыльностью и превращаем в практический метод создания архитектурной устойчивости. По сути, костыли — это артефакты итерационного улучшения системы, аналогичные иммунитету, антителам и лейкоцитам в живом организме.
Как мы это применяем в BizOpsDev321
1. Команда321 и осознанная работа с легаси
В нашем опыте, легаси — это не ругательство, а форма зрелой системы. Мы видим, что системы, покрытые костылями, могут работать 10 и более лет, если за ними стоит команда, обладающая когнитивным облаком и институциональной памятью. Мы не отделяем код от команды: без команды — это мертвый код. С командой — это живое знание.
Модифицированный закон Галла: Сложная система = команда + коды (включая данные). (Или наоборот, в зависимости от акцента — но важно помнить принцип Team First.)
2. Теория Костыльности как метод развития
В рамках BizOpsDev321 мы:
● Не боимся костылей, а документируем и оборачиваем их в осмысленные элементы архитектуры.
● Создаём архитектурные единицы (residues) на основе конкретных стрессоров, и сохраняем их как паттерны устойчивости.
● Используем как автотесты, так и хаос-тесты как важные элементы архитектуры.
● Проводим анализ стрессоров и анализ связанности (по Барри) на регулярной основе — но дополняем их рефлексией команды и анализом ограничений (не только организационных, но и технологических, юридических, временных и др.).
3. Каневин, Галл и Учение Деминга в одной связке
Мы объединяем:
● Каневин-фреймворк, чтобы понимать, что люди и их команды созданы для жизни в комплексном домене;
● Закон Галла, чтобы оценить реальность внедрения или выживания системы;
● Теорию Костыльности, чтобы развивать систему через аккуратную адаптацию к стрессу, а не через архитектурную чистоту;
● Учение Деминга (или Систему ценностей Деминга) — как основу системного мышления и построения устойчивых организаций.
Почему это работает
Аналогия с иммунитетом организма помогает глубже понять логику Теории Костыльности. Костыль — это внешняя помощь, введённая командой для стабилизации системы. Но если он срабатывает и остаётся, он превращается в элемент внутренней устойчивости — как временная вакцина, перешедшая в устойчивый иммунитет. Архитектурные «антитела» — это автотесты, обходы, ограничения и паттерны, выработанные на реальном боевом опыте. Чем больше таких зафиксированных реакций на стресс — тем зрелее система. Это не просто хаотичный набор багфиксов, а память о том, что уже преодолено.
Потому что мы признаем:
● Система должна пережить реальные удары, прежде чем стать зрелой.
● Устойчивость важнее чистоты.
● Знание о костыле ценнее его отсутствия.
Знание о Теории Костыльности не обязательно, чтобы система выживала. Но если команда её знает — она получает принципиально новые возможности развития и устойчивости.
Заключение
Теория Костыльности — это наш язык для описания реального эволюционного процесса архитектур.
В BizOpsDev321 это не философия, а инструмент. И это не о плохих решениях, а о хороших решениях, которые остались после стресса.
Мы не “чинщики легаси” — мы выращиватели устойчивости. И каждый костыль — это шрам, знание, антивирус и основа боевой готовности системы.
Костыльность — не изъян. Это артефакт зрелости.
Дата публикации: 03.07.2025