Tugolukov.tech blog

Технический долг и.. CapEx-OpEx

Статьи
В разработке софта я сторонник принимать решения на основе экономической составляющей (деньги, конверсия, количество пользователей). Особенно когда работаю с техническими задачами, проектирую новую архитектуру и так далее: я всегда акцентирую внимание на потенциальном эффекте - экономия времени, более эффективное использование ресурсов (например, инфраструктуры), снижение рисков получить штраф на несколько миллионов рублей/долларов.
И сегодня я бы хотел в этой маленькой заметке рассказать про то, как связан технический долг и деньги.
Технический долг - набор задач(либо просто работа), которая не была сделана в угоду скорости реализации, что негативно влияет на процессы разработки в будущем.
Пример
Делаем систему, и чтобы успеть быстрее, забили на качественное проектирование. Благодаря этому сэкономили времени, вывели софт на рынок раньше, и вроде бы все хорошо. Но после разработки систему надо дорабатывать, но из-за того, что не спроектировали достаточно качественно, разработчики тратят на задачи не 2-3 дня, а 1-2 недели (а иногда и еще больше). Разница между ожидаемым сроком задач и фактическим - колоссальна. Это все очень просто переводится в деньги.
Изначальный срок разработки уменьшается, т.е. тратим на этой стадии меньше денег, но при обслуживании тратим больше времени, т.е. больше денег.
Это все напрямую коррелирует с понятиями CaPex и OpEx.
CaPex - Capital Expenditure - капитальные расходы, инвестиции.
OpEx - Operational Expenditure - операционные, постоянные расходы.
Взятие технического долга - это увеличение операционных расходов (OpEx) при уменьшении расходов капитальных (CapEx).

А теперь давайте немного посчитаем. Сразу отмечу, что данные цифры - это мои наблюдения. Они могут отличаться как в бОльшую сторону, так и в меньшую.
2-3 квартала отсутствия достаточного внимания на технику могут привести к уменьшению скорости разработки на 20%. Т.е. за то же время, что ранее, команда делает на 20% меньше.
Средняя зарплата программиста: 200к рублей (net, в месяц). 20% от этой суммы - 40к рублей.
В год это выходит 40к * 12 = 480к. Почти полмиллиона! И это только с одного человека.
Если мы возьмем минимальную команду - 2 разработчика и 1 тестировщик, то сумма будет уже другой:
  • При ЗП разработчиков в 200к рублей (net, в месяц), получаем потери в 960к;
  • При ЗП тестировщика в 150к рублей (net, в месяц), получаем потери в 360к.
Суммарно потери составляют 1 320 000 за год. И это не учитывая налоги и другие отчисления, которые работодатель платит помимо собственно зарплаты.
Стоит отметить, что "беспорядок", который вызывает такие потери, имеет свойство накапливаться. И без должного внимания потери будут увеличиваться.

А как же быть?
Надо "гасить" долг, т.е. улучшать техническую часть продукта. Грамотные технари, в том числе тимлиды, менеджеры разработки знают, как это делать. Даже выделение небольшого количества времени позволит на промежутке в несколько месяцев сэкономить достаточно существенную кучу времени и денег соответственно.
Здесь я люблю говорить про регулярность, стабильность - надо не запускать, периодически "прибираться", и тогда бизнес будет расти не вопреки, а благодаря техническому фундаменту.
Share Buttons