SA
Skip to main content

기술 할부 결제

기술 부채(Technical debt)는 소프트웨어 개발에 사용되는 은유적인 용어로, 마감일을 맞추거나 새로운 기능을 개발하는 등 우선 순위에 있는 다른 작업을 처리하기 위해 확장될 수 없는 형태의 엔지니어링이나 단기적인 해결책을 우선적으로 적용시키고 소프트웨어 유지보수, 업데이트 또는 개선을 지연 시킨 것에 대한 대가를 말한다. 금융부채가 이자를 발생시키듯 기술부채도 복잡성 증가, 생산성 저하, 오류나 실패 위험 증가 등에 대한 이자를 발생시킨다.

우린 항상 기술 부채가 끔찍하다고 생각한다. 그러나 노수진 님께서 지적하셨듯 우리는 경영학개론에서 배우는 한 가지를 항상 까먹는다.

asset=equity+liability\text{asset} = \text{equity} + \text{liability}

기업들은 현금 유동성을 강화시키기 위해 의도적으로 부채를 만든다. 마찬가지로, 기술 부채를 감수함으로써 우리는 지금 당장 롸잇 나우 동작하는 코드를 얻을 수 있다. 확장하긴 어렵겠지만 일단 동작하긴 하는 그런 코드.

이는 서비스의 출시 시기를 기하급수적으로 앞당기는데, 이는 스타트업에서 완전무결한 엔지니어링보다 훨씬 중요하다. 결국 서비스가 누군가를 서브해야 그 아름다운 코드가 한 번이라도 실행되지 않겠나?

Enginef(resource, time)utility\text{Engine} \Leftrightarrow f(\text{resource}, ~\text{time}) \to \text{utility}

여기서 엔진 방정식이 유용하게 다가온다. 엔진은 자원을 투입하여 효용을 생성하는 함수일 뿐이다. 단 여기서 변수로 시간이 작용한다는 사실을 확인하자. 지금 당장 투입 가치를 줄이고 시간이 지나 자원을 다시 투입해도 되는 것이다. 즉, 기술 부채는 단기적으로 다른 자원보다 시간을 우선시하여 엔진 방정식을 최적화하는 기술 중 하나이다.

이 접근 방식은 만들 때까지 만든 척하는 서비스 시밍과 유사하다. 서비스 시밍과 기술 부채는 온전한 기술이 준비되기 전에 시장 가치(서비스의 유동성)를 창출하는 점에서 동일하다. 그런 면에서 기술 후불 결제 혹은 기술 할부가 더 나은 용어일 수 있겠다.

기술 부채

  • 느낌 별로임
  • 나쁜 예감임
  • 자본주의에 얼룩진 것 같음

코드 후불 결제

  • 문제 없어 보임
  • 신선함
  • 쿨함

— clip studio pain (@freezydorito) January 29, 2023