Принцип KISS — «Keep It Simple, Stupid» («Делай проще, дурак») — давно перекочевал из авиастроения в IT, став одной из ключевых философий разработки. Он призывает к максимальному упрощению систем, кодовой базы и процессов. Однако его прямое применение в российских IT-реалиях, с их уникальными вызовами — регуляторными требованиями, импортозамещением, кадровым голодом и legacy-наследием — требует глубокого анализа и адаптации. Простота в вакууме и простота в условиях внешних ограничений — это разные вещи. Данная статья — попытка анализа, как применять KISS, не впадая в наивность и не усложняя себе жизнь.
Первое и главное противоречие: KISS vs. Требования регуляторов. Российское законодательство в сфере IT (законы о персональных данных, о ФГИС, отраслевые стандарты) часто предписывает конкретные, подчас архаичные, технические решения. Требование хранить данные на территории РФ или использовать сертифицированные СКЗИ (средства криптографической защиты информации) автоматически добавляет слои сложности. В этом контексте KISS трансформируется из «сделать архитектуру максимально простой» в «реализовать обязательные требования максимально прозрачным и изолированным способом». Например, вместо вплетения криптографии в бизнес-логику, вынести все операции со СКЗИ в отдельный, хорошо документированный сервис с простым API. Сложность изолирована, а основная система остается «простой».
Второй аспект — кадровый. KISS предполагает, что простое решение будет легче поддерживать любому разработчику. Но в условиях высокой текучки и дефицита senior-специалистов в регионах, «простота» должна оцениваться через призму средней квалификации команды. Использование экзотического, но элегантного фреймворка может нарушить KISS, если для его понимания нужно полгода. В российских реалиях KISS часто синонимичен использованию проверенных, широко распространенных технологий (Java Spring, 1C, .NET), даже если они «тяжелее» современных аналогов. Простота здесь — в предсказуемости, обилии документации на русском и большом пуле разработчиков, которые смогут разобраться.
Наследие (Legacy) — особая статья. Многие российские компании, особенно в госсекторе, финансах и промышленности, имеют ядро из систем, написанных 10-20 лет назад. Принцип «не трогай, если работает» здесь часто побеждает KISS в его радикальной форме (полный рефакторинг). Анализ KISS в таком контексте — это искусство создания простых адаптеров и фасадов. Вместо переписывания монолита на COBOL, создайте простой REST/JSON API-шлюз к нему. Это усложнит систему в целом добавлением нового слоя, но радикально упростит интеграцию для новых, современных сервисов, соблюдая принцип «простота взаимодействия».
Импортозамещение и технологический суверенитет. Необходимость замены зарубежного ПО (базы данных, очереди, middleware) на отечественные аналоги часто ломает изначально простые архитектуры. Российские аналоги могут иметь другие API, ограниченную функциональность или требовать специфичной настройки. KISS-подход здесь — это aggressive abstraction (агрессивная абстракция). Спроектируйте систему так, чтобы вендорозависимые компоненты были скрыты за унифицированными интерфейсами. Например, не используйте специфичные SQL-расширения PostgreSQL напрямую в коде. Вынесите запросы в репозитории, которые можно переписать при смене базы на, например, Postgres Pro или YDB. Первоначальная сложность проектирования окупится простотой миграции.
Культурный код и коммуникация. KISS — это также о коммуникации. В российских коллективах с иерархической структурой и часто размытой ответственностью сложное решение может быть принято из-за нежелания задавать «глупые» вопросы или спорить с архитектором. Внедрение KISS требует культурных изменений: поощрения вопросов «А зачем нам это?», «Можно ли сделать проще?». Проведение регулярных ритуализированных обзоров архитектуры (архитектурные комитеты) с обязательным пунктом «Оценка простоты» может помочь.
Практический инструмент для анализа: «Матрица сложности». Создайте для своего проекта таблицу с осями: «Сложность реализации» и «Сложность поддержки». Разместите в ней ключевые компоненты системы. KISS стремится сдвинуть все к точке «низкая/низкая». Но в российских реалиях некоторые компоненты неизбежно окажутся в квадранте «высокая сложность реализации, но низкая сложность поддержки» (например, тот самый адаптер для legacy) или «низкая реализация, высокая поддержка» (быстро написанный костыль). Задача — не допускать попадания в квадрант «высокая/высокая». Этот визуальный анализ помогает аргументировать вложения в упрощение.
KISS в России — это не догма, а стратегический компромисс. Это принцип, который должен бороться не со «сложностью вообще», а с «бессмысленной, нефункциональной сложностью». Умение отличить необходимую сложность, продиктованную внешними условиями, от накрученной самими разработчиками — ключевой навык для архитектора и тимлида в современных российских реалиях. Простота — это не минимализм, а ясность. И в условиях турбулентности ясность ценится особенно высоко.
Как анализировать KISS в российских реалиях: принцип простоты в условиях сложности
Анализ применения принципа KISS (Keep It Simple, Stupid) в условиях российского IT-рынка с учетом регуляторики, импортозамещения, legacy-систем и кадровых особенностей. Практические советы по адаптации принципа.
175
3
Комментарии (6)