Как выстроить диалог между бизнесом и разработчиками

Бизнес и разработчики сегодня живут на разных полюсах, часто практически не понимая и не слыша друг друга. Рассказываем, как нам удалось решить эту проблему

Дмитрий Романов
Технический директор

11 лет в IT, эксперт стратегического проектирования архитектуры и планирования направлений разработки

Дискоммуникация между разработчиками и бизнесам стоит дорого: продукты кодятся годами, релизы выходят с ошибками, пользователи жалуются. Как выстроить диалог между бизнесом и разработкой рассказывает технический директор Группы компаний «Цифровые привычки» Дмитрий Романов.

Процесс разработки в современной ИТ-компании: as is / to be

Разработчики сосредоточены на технических задачах: как написать хороший код, исправить баги, улучшить архитектуру. Бизнес же думает о сроках, бюджете и доходах. Они редко понимают проблемы друг друга. Мы создали инструмент, отечественный quality gate, который помогает устранить этот момент, создавая общий язык в виде прозрачных метрик и отчетов, которые понятны обеим сторонам. Например, можно показать объем технического долга, потенциальные риски и их влияние на сроки. Это позволяет бизнесу заранее учитывать затраты на исправление проблем, а разработке — объяснять свои действия, подкрепляя их реальными данными.  

Или проанализировать эффективность работы команды. Например, как быстро закрываются задачи, сколько ошибок допускают разработчики на этапе написания кода, как долго задачи висят на ревью. Это не просто голые цифры, а инструмент для обсуждения: как улучшить процессы, где узкие места, что можно оптимизировать.  

Нужно сфокусироваться на трех ключевых аспектах: коде, процессах и команде.  

Код: уровень технического долга: сколько кода требует рефакторинга, как это повлияет на проект, количество ошибок, найденных на этапе написания или ревью, соответствие стандартам кодирования, качеству тестов, покрытия.  

Процессы: время выполнения задач: от постановки до закрытия, время на ревью: как долго изменения ждут проверки, сколько итераций нужно для принятия, частота коммитов: как часто команда вносит изменения в репозиторий, цикл разработки: насколько быстро задачи проходят полный цикл — от постановки до выпуска.  

Команда: личностный рост разработчиков: как уменьшается количество ошибок у конкретного сотрудника, скорость обучения новых членов команды: как быстро джуниоры становятся продуктивными, эффективность взаимодействия между участниками: сколько задач требует доработки из-за недопонимания.  

Бизнесу важно не то, как именно написан код, а что этот код означает для сроков и бюджета. Например: если уровень технического долга высокий, это сигнал: лучше сейчас выделить ресурсы на его устранение, чтобы не потерять больше времени и денег в будущем. Если задачи долго висят на ревью, это может указывать на узкие места в процессах. Бизнес видит, где задержки, и может помочь разработке оптимизировать процессы.  

Кроме того, метрики помогают видеть результаты работы команды: на сколько стабильно она работает, как быстро растут сотрудники, где необходимы улучшения.  

Практическое применение quality gate

Допустим, разработчики говорят: «Эту задачу нельзя сделать за неделю, потому что есть технический долг». Обычно бизнесу сложно понять, что это значит. А платформа показывает: вот объем долга, вот список связанных проблем, и вот время, которое потребуется на их устранение. Теперь это не абстрактная «отмазка», а конкретные цифры, которые можно включить в планирование.  

Другой пример: разработчик исправил задачу за два часа, но ревью заняло неделю. Почему? Это может быть перегруженность ревьюеров, неэффективные процессы или недостаточное внимание к задаче. Нужно выявлять такие узкие места.  

Или еще пример: команда выпускает изменения слишком редко. Анализ показывает, что проблема в плохой автоматизации. Проверка показывает, что 30% времени тратится на ручное тестирование, тогда можно предложить решение: инвестировать в CI/CD.  

Есть инструменты, которые частично решают похожие задачи: линтеры для проверки кода, системы CI/CD для автоматизации, трекеры задач. Но проблема в том, что они сосредоточены только на одной стороне.  

Мы интегрировались со всеми этими системами, чтобы собрать данные воедино. Теперь не просто проверяем код, но и видим влияние технических решений на бизнес. Например, линтер укажет, что в коде есть ошибки, но не скажет, как их исправление повлияет на сроки. Наше ПО делает это: показывает не только проблемы, но и их стоимость для проекта.  

Это особенно важно для бизнеса, чтобы принимать осознанные решения. Если задача откладывается из-за технического долга, бизнес может спросить: «А стоит ли его устранять прямо сейчас?» Важно показать, к чему приведет откладывание.  

Как реализован статистический анализ и AI-код ревью для улучшения работы разработчиков  

Наша платформа CodeAche собирает и анализирует данные о процессе разработки, производительности команды и качестве кода. Статистический анализ помогает отслеживать ключевые метрики, такие, как количество ошибок, время выполнения задач и скорость работы команды. Это позволяет выявлять закономерности и проблемы на ранней стадии, а также оценивать улучшения с течением времени. Например, если вы заметили, что количество ошибок в коде уменьшилось, это будет сигналом того, что процессы становятся эффективнее. 

Также используется AI для автоматического анализа кода, который помогает улучшить качество ревью и выявить потенциальные проблемы еще до того, как они станут серьезными.

AI-код ревью — это одна из ключевых возможностей. Искусственный интеллект анализирует код и выявляет не только синтаксические ошибки, но и потенциальные уязвимости, проблемы с производительностью или несоответствие лучшим практикам разработки. AI работает на основе обученных моделей, которые могут предсказать, где код может быть потенциально проблемным, основываясь на прошлых ошибках и лучших практиках. Это помогает ускорить процесс ревью, так как многие типичные ошибки выявляются автоматически, и разработчики могут сосредоточиться на более сложных аспектах кода.

Помогаем на каждом этапе жизненного цикла разработки, начиная с написания кода и заканчивая его интеграцией и поддержкой. На начальной стадии AI-код ревью анализирует изменения в коде еще до того, как они попадут в общий репозиторий. Это позволяет разработчику быстро выявить потенциальные ошибки или несоответствия стандартам. 

Далее, в процессе интеграции и тестирования, помогаем автоматизировать проверки и предлагает исправления в реальном времени, что значительно ускоряет процесс разработки и минимизирует вероятность багов. Постоянный мониторинг производительности и технического долга позволяет разработчикам вносить улучшения в код еще до того, как он перейдет на продакшн.

Предотвращение ошибок — одна из главных задач. На этапе написания кода AI-код ревью анализирует изменения и предупреждает разработчика о возможных проблемах, таких, как неэффективное использование ресурсов или потенциальные баги. Кроме того, инструменты помогают выявить участки кода, которые могут привести к техническим долгам или сложностям в поддержке в будущем. Вместо того, чтобы искать ошибки уже на стадии тестирования, можно устранить их на ранних этапах, что существенно ускоряет процесс разработки и повышает качество продукта.

Как контролировать объем технического долга

Все просто — с помощью прозрачного мониторинга и анализа. Вместо того чтобы технический долг накапливался и становился сюрпризом в конце проекта, можно заранее оценить, какие части кода требуют рефакторинга или улучшения. AI также анализирует эти участки и предлагает решения для уменьшения долгов. Визуализируя объем технического долга и его влияние на проект, можно помочь разработчикам принимать более обоснованные решения и эффективно распределять ресурсы для исправления и улучшения кода без неожиданного ухудшения сроков проекта.

Автоматические проверки качества кода и тестов позволяют значительно ускорить процесс разработки. Интеграция с существующими системами CI/CD дает разработчикам возможность получать результаты анализа кода сразу после каждого коммита. Кроме того, система автоматически анализирует изменения и предоставляет рекомендации по улучшению кода прежде, чем он будет отправлен на ревью. Это позволяет минимизировать время, затрачиваемое на повторные проверки и исправления ошибок, а также улучшить общую производительность команды.

Главная ценность в том, что устраняется недопонимание. Разработка и бизнес не могут существовать друг без друга. Бизнес зарабатывает деньги, которые оплачивают работу разработчиков, но без четкого взаимодействия с разработкой он не сможет эффективно развиваться. А разработчики, в свою очередь, не смогут создавать хорошие продукты, если не понимают бизнес-целей.  

Важно создать и поддерживать мост между ними, помогая обеим сторонам видеть, слышать и понимать друг друга. Только на этой основе можно выстроить эффективные процессы и сделать действительно успешный проект.