Skip to content

Latest commit

 

History

History
27 lines (14 loc) · 5.51 KB

fight-againist-tech-debt.md

File metadata and controls

27 lines (14 loc) · 5.51 KB

Что такое технический долг и как с ним бороться?

В своей прошлой статье я рассмотрел, что такое легаси и почему оно не является техническим долгом и вот пришло время поговорить про технический долг и как с ним бороться.

Что такое технический долг?

Давайте определимся с тем, что такое технический долг. Я для себя определяю технический долг как компромисс между качеством и скоростью разработки. Что это значит? Все просто, при разработке новой фичи мы добились приемлемой производительности и выпустили ее в прод, при этом мы прекрасно понимаем, что код там не оптимален. Почему так делается? Все просто, при разработке нового функционала вам, во-первых, нужно проверить гипотезу, что ваши пользователи будут им пользоваться, и, во-вторых, число пользователей вначале всегда мало. Из этого следует, что вначале с оптимизациями заморачиваться не совсем рентабельно, и только увидев, что новый функционал начинает набирать популярность, можно запускать вторую итерацию по оптимизации. Так поступают в стартапах здорового человека, а в стартапах курильщика забывают (или просто забивают) о том, что первый вариант нового функционала написан не оптимально и возвращаются к нему тогда, когда возникнут проблемы. Вот и получается, технический долг - это работы, которые вы отложили на будущее. Как и все долги, технический долг нужно выплачивать, иначе, как и долги в реальной жизни, он приведет к невозможности дальнейшей разработки нового функционала. Основные причины, которые приводят у увеличению технического долга:

  1. Низкая квалификация менеджмента, когда на выплату технического долга не выделяется время сотрудников. Это, пожалуй, самая частая причина, по которой накапливается технический долг.

  2. Несоответствие штатной численности количеству выполняемых задач. Эта причина идет рука об руку с п. 1, т.к. менеджмент выставляет приоритет задач и если не хватает рук, то более высокий приоритет получают продуктовые, а не технические задачи.

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

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

Если у вас выстроена работа с техническим долгом, то он для вас не будет проблемой. Рассмотрим несколько вариантов работы техническим долгом:

  1. Соблюдайте баланс между продуктовыми и техническими задачами в спринте. Выделите процент технических задач которые вы будете решать в каждом спринте.

  2. Заведите не функциональный бэклог владельцем которого является технический топ менеджер (например CTO). В купе с п. 1 это позволит вам сократить бесконтрольный рост технического долга.

  3. Устраивайте техдолговые дни, недели, месяцы когда все занимаются только задачами по устранению технического долга.

Что в сухом остатке?

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