기술적 부채 편집하기


편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

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


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


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


그리고 문제점이 누적되어서 '어디서부터 손대야 하는지 모르는 수준'에 다다르게 되면, 유지보수의 수준이 아니라 시스템 재구축을 해야 하는 상황에 이를 수도 있다. 경우에 따라서는 기존의 것을 완전히 폐기하는 매몰비용까지 고려해야 한다는 것. 이 재구축에 소요되는 시간과 비용 + 매몰비용이 갚아야할 빚에 해당된다.
그리고 문제점이 누적되어서 '어디서부터 손대야 하는지 모르는 수준'에 다다르게 되면, 유지보수의 수준이 아니라 시스템 재구축을 해야 하는 상황에 이를 수도 있다. 경우에 따라서는 기존의 것을 완전히 폐기하는 매몰비용까지 고려해야 한다는 것. 이 재구축에 소요되는 시간과 비용 + 매몰비용이 갚아야할 빚에 해당된다.
18번째 줄: 18번째 줄:
==사례==
==사례==
* [[나무위키]]: 초기의 급속 개발로 인한 기술적 부채로 인하여 설립 1년 뒤, 위키엔진을 재설계 하고 있다는 공지를 발표했다. [https://board.namu.wiki/notice/3322#0 관련공지]<ref>극초기(2015년 4월 17일~30일)의 나무위키는 시스템적으로는 말 그대로 '''굴러만 가는 수준으로 임시개장한 정도'''였다는 [[위키 갤러리]]발 증언이 있다.[http://gall.dcinside.com/board/view/?id=dcwiki&no=340630 링크] 이때부터 쌓인 기술적 부채가 쌓여서 재설계를 하게된것으로 추정된다.</ref>
* [[나무위키]]: 초기의 급속 개발로 인한 기술적 부채로 인하여 설립 1년 뒤, 위키엔진을 재설계 하고 있다는 공지를 발표했다. [https://board.namu.wiki/notice/3322#0 관련공지]<ref>극초기(2015년 4월 17일~30일)의 나무위키는 시스템적으로는 말 그대로 '''굴러만 가는 수준으로 임시개장한 정도'''였다는 [[위키 갤러리]]발 증언이 있다.[http://gall.dcinside.com/board/view/?id=dcwiki&no=340630 링크] 이때부터 쌓인 기술적 부채가 쌓여서 재설계를 하게된것으로 추정된다.</ref>
* [[상왕십리역 열차 추돌 사고]]: 호환성을 위해 2개의 체계를 유지하면서 연동에 대한 면밀한 검토가 부족했으며, 알고리즘에서 [[안전측 동작]]을 빠트리고 현장검증을 생략하여 오류를 놓쳐 사고의 원인이 되었다.


==관련 사이트==
==관련 사이트==
* [http://www.ontechnicaldebt.com ontechnicaldebt] - 기술적 부채에 관해서 논의하는 커뮤니티
* {{언어고리|en}} [http://www.ontechnicaldebt.com ontechnicaldebt] - 기술적 부채에 관해서 논의하는 커뮤니티
{{주석}}
{{주석}}
{{퍼온문서|en:Technical debt||일부|영어 위키백과}}
{{퍼온문서|en:Technical debt||일부|영어 위키백과}}
[[분류:소프트웨어 공학]]
[[분류:소프트웨어 공학]]
리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포됩니다(자세한 내용에 대해서는 리브레 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
글이 직접 작성되었거나 호환되는 라이선스인지 확인해주세요. 리그베다 위키, 나무위키, 오리위키, 구스위키, 디시위키 및 CCL 미적용 사이트 등에서 글을 가져오실 때는 본인이 문서의 유일한 기여자여야 하고, 만약 본인이 문서의 유일한 기여자라는 증거가 없다면 그 문서는 불시에 삭제될 수 있습니다.
취소 편집 도움말 (새 창에서 열림)

| () [] [[]] {{}} {{{}}} · <!-- --> · [[분류:]] · [[파일:]] · [[미디어:]] · #넘겨주기 [[]] · {{ㅊ|}} · <onlyinclude></onlyinclude> · <includeonly></includeonly> · <noinclude></noinclude> · <br /> · <ref></ref> · {{각주}} · {|class="wikitable" · |- · rowspan=""| · colspan=""| · |}

이 문서에서 사용한 틀:

이 문서는 다음의 숨은 분류 1개에 속해 있습니다: