Мы обсудили, что такое технический долг и как он возникает. Но как управлять техническим долгом? Основное правило здесь - старайтесь всеми силами избегать его появления. Если же это неизбежно, обязательно имейте отдельную пользовательскую историю для технического долга проекта, и сразу же в момент принятия решения или реализации, влекущее за собой появление технического долга, оформляйте это в виде задач внутри истории. Обязательно оценивайте сроки завершения и требуемое время на решение. В дальнейшем, вам будет легче вести диалог относительно приоритизации и выделения ресурсов на закрытие технического долга.
1. Техдолг являние неискоренимое, как смерть в конце жизни. Если упрощать, всё что выходит из под пера разработчика - уже техдолг. Просто пока проект тривиальный, обозреваемый и умещается в голове одного разработчика, то он не заметен, так как проект можно легко менять. Но с ростом проекта, а тем более с подключением других людей - всё, точка невозврата пройдена.
Усугубляется всё ротацией людей (приходят, увольняются). У каждого разработчика своя система абстракций и при долгой совместной работе остаётся что? правильно что - пересечение этих абстракций в виде самой сумбурной и костыльной комбинации.
2. С филосовоский точки зрения техдолг даже желателен. Это как рак, до которого по идее каждый организм должен дожить, если не погибнет, или не помрёт от других более скоротечных болячек. Техдолг - это накопишиеся противоречия в системе, которые сигнализируют о её пределе сложности. После этого только один путь - смерть и распад. Но через это осуществляется "удобрение" окружающей среда. Какие-то успешные вещи, оформляются в виде библиотек, компактных сервисов, технологий. И эти проивзодные распада уже вовлекаются в новый круговорот - появляются новые продукты, лишённые избыточной сложности предшественников.
3. Где-то лет семнадцать я был на стороне разработки, последние 5 лет - на стороне продукта и бизнеса. И со стороны продукта и бизнеса техдолг не выглядит проблемой. Даже более - это всегда раздражает, когда об этом заходит речь. Почему? Потому что аргументация, что будут более быстрые изменения или что люди не будут выгорать, отзываются слабо. Если бизнес состоявшийся с хорошей маржой, то там вообще плевать становится. Проще в маркетинг пару сотен миллионов закинуть, или запартнериться с кем нибудь, или за счёт биздева лучшие условия для бизнеса прожать, чем заниматься дрочем над каким-то то там долями процентов от экономии костов. Да и вообще, если компания начинает фокусироваться над оптимизирование костов - плохо дело. Это как на велосипеде - ты либо едешь вперед (читай - растешь), либо падаешь (читай - остановился рост и началась битва за последние 20%, которые требуют 80% усилий).
Вспоминается Наполеон в начале своей карьеры, получивший в командование армию на границе Италии. В армии было воровство и коррупция - техдолг. Наполеон не стал этим сильно заморачиваться, а просто пошёл и навалял врагам, а потом поживился добычей и разграблением. Проблема была решена. Бизнес - это про хищнечество.
Да, к сожалению, ценность борьбы с техдолгом кардинально отличается в зависимости от выполняемой работы даже в рамках одной компании.
Михаил, это шедеврально! Огромное вам спасибо за комментарий!