대출에는 만기가 있습니다.
돈을 꼭 갚아야 하는 날.
기술부채는 후불 코딩이라고 얘기하곤 합니다.
그럼 기술부채의 만기일은 언제일까?

대출을 갚는 데 돈이 필요하듯,
기술 부채를 갚는 데에도 돈이 필요합니다.
개발자의 시간이라는 비용.
이 비용이 준비되지 않으면, 대출을 연장하고,
나중에 연체이자를 좀 더 내는 것 아닐까 싶습니다.

서비스가 성장 중이라면 연체를 하게 되는 것 같습니다.
테스트 짤 시간에 기능 하나 더 만드는 식으로요.
“서비스가 돈을 벌게 되면 그 때 테스트도 짜고 리팩토링 해야지” 하다가도,
그 때가 되면 결국 더 바빠지곤 합니다.
개발자의 시간이라는 환급금이 생기기가 어렵습니다.

또 하나.
후불 코딩이라고 마음먹고 기능을 빨리 내면,
이해관계자들이 그 속도에 맞춰지게 됩니다.
그래서 계속 대출을 하게 되는 것 같습니다.

연체가 하도 쌓여서 문제가 되기 전에는 신경쓰기 어렵습니다.
뭐가 엄청 얽히고 설켜 있어서 개발 속도가 느려진다거나,
테스트를 짰다면 일어나지 않았을 어이없는 버그가 생겼다거나,
옛날 버전을 쓰다가 치명적인 보안 이슈가 생겼다거나.

등등.

‘진짜 문제라면 이미 고쳤겠지’라는 말이 맞는 것 같습니다.

-

함께 읽으면 좋은 글