Мастерство техдолга

топ 100 блогов nponeccop18.12.2024 Тут на Кворе был дебильный вопрос "Может ли QA помочь с техдолгом?" и аналогично же дебильные ответы, из которых стало ясно, что народ не понимает, что такое техдолг. Клод справился даже лучше, чем я предполагал, в плане идей, но как обычно страдают writing skills.

Unintentional technical debt is the accumulation of suboptimal code, architectural compromises, and design shortcuts that occur naturally during the software development process. Unlike its intentional counterpart, this form of debt is not a deliberate strategy but a byproduct of:

  • Rapidly changing requirements

  • Knowledge gaps

  • Time constraints

  • Complex problem-solving

  • Individual developer approaches

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

Делают они это бессистемно, и то. что я вижу "сразу", просто, например, исходя из зон ответственности модулей/separation of concerns, у них получается через полгода и 15 переписываний. Тем не менее, по ключевой метрике -- времени написания интеграции с очередным платежным API -- мы опережаем ожидания по индустрии в 5 раз - вместо 2 недель 3 дня.

Managing unintentional technical debt is not about elimination, but about creating a sustainable ecosystem of continuous improvement.

Successful technical debt management recognizes that:


  • Developers are creative problem-solvers

  • Perfection is the enemy of progress

  • Context matters more than absolute standards

The key lies in creating a framework that:


  • Empowers developers

  • Provides structured oversight

  • Allows for organic problem-solving

  • Ensures long-term project sustainability

It requires:


  • Trust in the development team

  • Flexible governance

  • Continuous learning

  • Shared responsibility

Allocate dedicated time and resources for debt management


  • Quarterly debt reduction sprints

  • 10-20% of development capacity reserved for refactoring

  • Explicit recognition of debt management as a critical development activity

Create a debt-conscious culture

  • Reward proactive debt identification

  • Provide continuous learning resources

  • Encourage open discussions about code quality

  • Remove stigma around acknowledging technical debt

У нас так и получилось "само собой", изобрели велосипед.

Ключевыми моими достижениями, как я считаю, было убедить всех (и разрабов, и руководство), что

  • Часто можно сказать "нет" на запрос клиента, и ничего не случится. Таким образом мы не впали в creeping featurism

  • Отдача техдолга -- это такая же "нормальная" активность в проекте, как и добавление фич и исправление багов, и надо выделять на это время

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

Ещё важно понимать техдолг в разрезе управления проектными рисками (не только техническими), и что, как и финансовое кредитование, создание техдолга может быть как "живительным притоком капитала", так и "кабальным бременем, приведущим к банкротству".

В этом плане желание не накапливать техдолг сродни желанию делать startup с использованием friends-and-family funding, а желание не отдавать техдолг сродни набиранию бессмысленных кабальных кредитов. И то и другое плохо, приходится балансировать, притом никто толком не знает, как. Но у нас вот пока получается.

Оставить комментарий

Архив записей в блогах:
Вопреки унылым мелодекламациям экс-звездонавта Рогозина и некоторых "воен-паникеров" о том, что фронт, вроде как, замер и что российсккое наступление захлебнулось, уткнувшись в непреодолимую стену из миллиона дронов, наши войска успешно взламывают бандеровскую оборону и продолжают ...
Круизный лайнер "Borealis" заходит в ирландский порт Ков. Фото сделаны 04 ноября 2023 года.       Судно было построено в г.Триест (Италия) в 1997 году и в настоящее время ходит под флагом Багамских островов. Первоначально и на протяжении почти всей своей историю оно ...
"Чтоб Байден сдох, Зеленский тоже, а Путин процветал!" Светлое будущее анонсировали в белорусском детском лагере во время одного из развлекательных вечеров. Ведущие со сцены выкрикивали политические пожелания под ликование молодежи, сидящей в зале. источник ...
Грейс Келли в 1954-м, за два года до того, как стала принцессой Княжества Монако. ...
Чот я слышу интересные речи – нам пришлось воевать с НАТО. Нам было не избежать войны с НАТО. НАТО хочет уничтожить Россию. Поэтому нам пришлось защищаться. И прям такое дежавю. И где ж я это все слышала. Ну как. В советской школе, на политинформациях. Вестимо. НАТО хочет ...