Тем не менее, есть способы, позволяющие на начальном этапе предотвратить скопление долга. Добиться этого можно благодаря использованию таких инструментов, как: единоразовые прототипы MVP с незаметной миграцией пользователей с прототипов на стабильную часть, подтверждённые гипотезы, создание доступной (гибкой) для изменений архитектуры, применение облачных серверов, четкие инструкции в работе команд. Залог успеха – это постоянный мониторинг трендов проектирования и верно выбранный технический директор.
Для верного управления техническим долгом необходимо избегать 7 главных ошибок: Первое и определяющее – ошибки проектирования и кодирования. Отследить их можно благодаря мониторингу показателей надежности и безопасности, отражающих количество системных ошибок.
Второе – нарушение общепринятых и внутренних стандартов кодирования (разработки). В данном случае отслеживание нарушений производится путем анализа показателя сопровождаемости. Важно отслеживать эту метрику, так как она дает понимание необходимого времени на разработки новой функции или корректировку старой.
Третье – недопустимость копирования участков кода. При обнаружении ошибок код изменяется сразу же на всех участках–дублях. Вообще, при частой необходимости копирования можно разработать алгоритм для учета различных вариантов применения кода. Отслеживать данный участок помогает показатель дублирования – отношение дублей к общему количеству кода.
Четвертое – недостаточное тестирование. Здесь большую роль играет человеческий фактор. В случае автоматизации тестирования ил игнорирования ручного тестирования теряется понимание о степени безопасности изменения отдельных участков кода. Проверяется достаточность тестирования показателем покрытия – доля автоматизированных тестов в общем числе проверок.
Пятое и шестое – запутанность кода за счет большого числа циклов, условий и т.п. Ее можно понять благодаря показателям сложности системы и архитектуры.
Последнее, но не по значению – это отсутствие или захламленность комментариями. Сложный код требует комментариев, иначе впервые видящему его человеку будет непросто разобраться. Однако, недостаток комментариев идет наравне с их избытком, который далеко не упрощает разбор кода. Проанализировать степень достаточности комментариев помогает показатель документирования, который отражает долю строк с комментариями к количеству строк кода.