기술적 부채

Technical Debt

개요[편집 | 원본 편집]

선풍기 기술적 부채(또는 기술 부채)는 지금 당장 해두지 않아도 되거나, (상대적으로 덜 필수적인) 안해도 티가 잘 나지 않는 작업들을 이런저런 이유로 포기하거나 미뤘다가 파생된 결과가 부채(debt)의 개념으로 돌아오는 것을 지칭한다. 이 부채라는 것이, 빨리 해소하지 않으면 실제 빚처럼 점점 더 커진다는 것도 비슷하다.

원인[편집 | 원본 편집]

  • 사업적인 이유: 기술적인 문제를 해결하기 위해서는 시간과 돈이 더 필요한데, 이런 문제를 해결하다가 완료가 늦어지면 그 기간만큼 사업을 정상적으로 할 수 없으므로, 수익성이 악화된다. 당연히 윗선에서는 그걸 좋지않게 여기고, 어떻게든 빨리끝내라고 압박을 가한다. 결국 마감기한에는 잘 굴러가는 것처럼 내놓기는 하는데...
  • 기술적 부채에 대한 이해 부족
  • 테스트 스위트(Test Suite) 부족: 어떤 일부 상황에만 적용가능한 임시방편으로 해결하게 된다. 이후의 다른 문제가 나오면 그걸 또 덮고...
  • 문서 부족: 관련 문서(나 주석) 없이 코드를 작성할 경우, 차후 그 코드에 관련된 설명 문서를 만드는 것이 그 부채가 된다.
  • 지식 부족: 깔끔하게 코드를 작성하는 방법을 모를때 (지저분한 코드)

결과[편집 | 원본 편집]

이 빚은 미래에 어떤 형태로든 갚게 되는데, 뭔가 끝낸것 같은 시점 이후의 디버깅을 비롯한 문제해결 작업같은 것이 이에 해당된다. 이런 문제해결 작업은 지체되면 지체될수록 작업에 필요한 시간과 비용은 더 커져만가니 실제 빚 개념과도 유사하다고 할 수 있다.

그리고 문제점이 누적되어서 '어디서부터 손대야 하는지 모르는 수준'에 다다르게 되면, 유지보수의 수준이 아니라 시스템 재구축을 해야 하는 상황에 이를 수도 있다. 경우에 따라서는 기존의 것을 완전히 폐기하는 매몰비용까지 고려해야 한다는 것. 이 재구축에 소요되는 시간과 비용 + 매몰비용이 갚아야할 빚에 해당된다.

사례[편집 | 원본 편집]

  • 나무위키: 초기의 급속 개발로 인한 기술적 부채로 인하여 설립 1년 뒤, 위키엔진을 재설계 하고 있다는 공지를 발표했다. 관련공지[1]
  • 상왕십리역 열차 추돌 사고: 호환성을 위해 2개의 체계를 유지하면서 연동에 대한 면밀한 검토가 부족했으며, 알고리즘에서 안전측 동작을 빠트리고 현장검증을 생략하여 오류를 놓쳐 사고의 원인이 되었다.

관련 사이트[편집 | 원본 편집]

각주

  1. 극초기(2015년 4월 17일~30일)의 나무위키는 시스템적으로는 말 그대로 굴러만 가는 수준으로 임시개장한 정도였다는 위키 갤러리발 증언이 있다.링크 이때부터 쌓인 기술적 부채가 쌓여서 재설계를 하게된것으로 추정된다.
이 문서의 일부는 영어 위키백과en:Technical debt 문서를 원출처로 합니다.