Технический долг, поломка и «архитектурное решение». Где именно мы врем себе
Понимаю, что заметка про технический долг попала точно в нерв. И это не случайно. Поэтому хочется чуть развернуть тему - не как PM, а в первую очередь как управленец.
Начнем с важного различия:
Технический долг это осознанный компромисс.
Поломка - это уже последствия.
А вот «архитектурное решение», которое никто не оформлял и не называл вслух - я подчеркну в конце поста.
Теперь - к жизни.
Представим среднестатистическую компанию. Не техногигант, не стартап с венчуром, а нормальный бизнес. И в ней - стреднестатистический айтишник Ваня.
Ваня не злодей. Он хочет, чтобы все работало. Он закрывает задачи в срок. Он знает систему лучше всех, потому что именно он «пару раз быстро подправил», «временно обошел», «поставил костыль, чтобы не упало» и своевременно устраняет поломки в виде пожаров, как последствие работы через костыли.
Документировать? Некогда. Описать архитектуру? Не сейчас. Вернуться и переписать? Надо, обязательно, но .... потом.
Так Ваня незаметно становится владельцем всех знаний. Не по злому умыслу, а потому что система именно так его вырастила.
Потому что где-то выше было принято молчаливое решение:
- скорость важнее устойчивости
- KPI - про закрытые задачи, а не про качество системы
- «невидимая работа» не считается работой,
- тратить время на бессмысленную писанину в виде документации - это роскошь.
Решение «передать коробку дальше» почти никогда не принимается IT. Оно принимается на уровне менеджмента, но без формулировки и без ответственности. Если в компании не выделено время на снижение технического долга, не существуют метрик контроля, у процесса нет хозяина, и, что особенно важно, не утверждается процент от дохода или бюджета на его устранение, то компания системно производит технический долг. Даже если вслух говорит о том какие они технологичные и современные.
И дальше начинаются знакомые симптомы: систему боятся трогать, изменения даются все тяжелее, новые люди не понимают, как все устроено, а уход Вани на больничный ввергнет компанию в тяжелый кризис.
И вот все это "архитектурное решение". Тоже решение, между прочим. Хоть и плохое
Вывод здесь очень простой, но неприятный.
Для управленца технический долг - это не вопрос технологий. Это вопрос честного выбора:
что мы сейчас покупаем - скорость или устойчивость, и какую цену готовы за это платить.
Коробку можно передавать из рук в руки довольно долго. Но в какой-то момент она вернется - и уже с процентами.