기술적 빚과 프로그래머의 실력

Source

  • Evernote/IFTTT Feedly/기술적 빚과 프로그래머의 실력.md

Summary

본문은 기획자와 프로그래머 간의 갈등을 ‘하드코딩’으로 해결하자는 주장을 비판하며, 기술적 빚(Technical Debt)의 위험성을 경고한다. 저자는 ‘이번만’, ‘나중에 갚겠다’는 식의 약속은 실현되지 않으며, 이는 장기적으로 코드 품질 저하와 프로그래머의 부담만 증가시킨다고 지적한다. 진정한 의사소통은 기획자가 개발 방법(하드코딩 등)에 개입하는 월권을 피하고, 요구사항과 우선순위만 명확히 전달한 후 구현 방식은 프로그래머의 전문적 판단에 맡기는 것이라고 결론지었다.

Key Points

  • 기술적 빚은 마틴 파울러가 설명한 대로 이자를 발생시키며, 갚지 않으면 시스템 유지보수 비용이 기하급수적으로 증가한다.
  • ‘하드코딩’은 필연적으로 추가 버그와 테스트 방해, 그리고 더 많은 기술적 빚을 초래하며, ‘나중에 리팩토링한다’는 약속은 현실적으로 거의 이행되지 않는다.
  • 기획자가 ‘하드코딩’과 같은 구체적인 구현 방법을 요구하거나 유도하는 것은 개발 영역에 대한 위험한 월권 행위이다.
  • 건강한 협업은 기획자가 요구사항과 우선순위, 기한을 명확히 하고, 코드 수정 방식에 대한 결정권은 프로그래머에게 완전히 위임하는 것이다.