Как обеспечить высокое внутреннее качество продукта?
Теперь, когда мы определили важность качества кода, следует дать рекомендации о том, как это качество обеспечить.
Выявление и отслеживание
Если проект создается с нуля, и коммуникация с командой разработки выстроена хорошо, то вы понимаете условия кредитования. Как отметили выше — умышленный техдолг поддается контролю. Если долг перешел по наследству, то сперва восстановите полную картину — пригласите экспертов для аудита.
Как и в случае с займом, убедитесь, что есть план по выплате — отслеживайте каждое такое решение, ведите учет несогласованных оценок. В будущем они послужат ориентиром, сколько времени в конечном итоге потребуется, чтобы привести все в порядок.
Оценка рисков и приоритезация
Общий техдолг состоит из ряда микрозаймов с разными процентными ставками. Получив представление об их размере, определите, что реально угрожает проекту, а с чем можно жить.
Подойдет классическая методика оценки рисков на основе их потенциального влияния. Если проблема проявляется часто и затрагивает много пользователей — устраняйте безотлагательно, в противном случае — понижайте приоритет.
Планирование и распределение нагрузки
Разом избавиться от техдолга целиком невозможно, поэтому как и с банковской ссудой здесь возможны регулярные взносы по спланированному графику платежей. Так вы распределите нагрузку и сохраните баланс между разработкой новых функций и улучшением текущего кода. По данным исследований в крупных технологических компаниях, управление техдолгом в среднем занимает 25% от всего времени разработки.
Мотивация команды
Необходимо создать условия, мотивирующие сотрудников поддерживать внутреннее качество. К сожалению, четких метрик, чтобы определить готовность продукта к масштабированию, нет.
Если измерять производительность только по количеству добавленных функций и исправленных дефектов, то команда сосредоточится на этих показателях, поэтому численные KPI вводить не рекомендуется. Лучше установить команде четкие критерии готовности, включающие в себя метрики внутреннего качества. Не принимайте задачи, которые не соответствуют заданному DoD.
---
Разработка IT-продукта — это вложения, которые должны окупаться в виде прямых доходов или снижения затрат. Вывод новых продуктов на рынок приносит прибыль, а качественный код позволяет делать это с минимальными издержками, поэтому для финансовой эффективности нужно балансировать этими показателями.
Соблазн отступить от стандартов качества возникает при необходимости соблюдать жесткие сроки. Низкое внутреннее качество увеличивает энтропию, и по мере расширения кодовой базы усложняется обслуживание, и подрывается командный дух.
Чтобы выработать стратегию обслуживания технического долга, наладьте диалог с командой разработки, вместе составьте список задач с привязкой к бизнес-метрикам. Какие показатели поможет улучшить рефакторинг? Какие проблемы возникнут, если ничего не делать? Только через общение вы сможете лучше друг друга понимать и добиваться желаемых результатов.