3 типа технического долга и способы управления им
Подобно тому, как умный финансовый долг может помочь вам быстрее достичь основных жизненных целей, не все технические долговые обязательства вредны, а управление техническим долгом может дать огромные выгоды для вашей компании. Это особенно актуально для быстрорастущих компаний, которым крайне необходимо своевременно поставлять продукцию, чтобы определить соответствие продукта рынку, удовлетворить потребности клиентов и использовать новые возможности. Но точно так же, как с финансовым долгом, вы должны быть мудрыми по поводу технической задолженности. В долгосрочной перспективе накопленный долг может замедлить скорость вашей доставки, вызвать проблемы с моральным духом разработчиков или даже полностью потопить ваш бизнес.
Даг Лиодден управляет техническим долгом более 14 лет - совсем недавно в качестве соучредителя и технического директора AdTech-компании Tapad, которую он помог привести к продаже за $ 360 млн. Несмотря на то, что нет единого универсального решения, Даг обнаружил, что классификация долга по категориям помогает во взаимодействии и решении проблем с долговыми обязательствами в разных группах. Он поделился тремя основными типами технического долга и своей стратегией решения каждой проблем.
1. Умышленный технический долг
Часто инженеры выделяют два способа что-то сделать: быстрый и правильный, говорит Даг. Во многих случаях быстрый способ - это правильный путь (когда нужно избежать чрезмерной инженерии), но иногда команда намеренно делает что-то «неправильное», потому что им нужно быстро доставлять продукт на рынок.
«Мы иногда сознательно набираем технический долг, чтобы сократить время выхода на рынок».
При выборе этого пути учитывайте не только то, сколько времени вы сэкономите на запуске функции, но и то, что потребуется, чтобы погасить явно возникшую задолженность. Убедитесь, что заинтересованные стороны знают, что в последствии это неизбежно замедлит запуск других функций.
2. Случайный / устаревший технический долг
3. Технический долг Bit Rot
Как решить эту проблему: это, пожалуй, единственный тип технического долга, который вы должны стараться избегать последовательно, говорит Даг, путем непрерывного рефакторинга. Сильные команды найдут время, чтобы понять дизайн системы, над которой они работают (даже если они не разрабатывали ее первоначально), постепенно улучшить дизайн и очистить плохой код Команда разработчиков должна быть ответственна за то, чтобы избежать долга Bit Rot, как и отдельные разработчики, навлекшие его.