ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 기술 부채
    Technique/Programmer 2017. 3. 19. 14:19
    반응형

    기술 부채 ( Technical debt )


    기술 부채는 위키사이트의 창시자로 알려진 컴퓨터 프로그래머 워드 커닝햄에 의해 만들어진 신조어로서, 오늘날 소프트웨어 업계에서 광범위하게 사용되고 있다. 금융업계에서 유래한 이 은유적 표현은 소프트웨어를 빠르게 출시하기 위한 결정을 내리는 것은 부채를 지는 것과 다름 없다는 의미를 갖고 있다. 즉 지금 무언가를 할 수 있게 해주는 것으로 그것이 없었다면 무언가를 할 수 없었다는 뜻이다.

     

    다만 부채는 무시해서는 안 되며 반드시 되갚아야 한다. 되갚는 시기가 늦어질수록 더 많은 비용이 든다. 적절한 시간에 갚지 않는다면, 부채에 대한 이자가 늘어나고 효용은 줄어든다.

     

    소프트웨어 세상에서의 기술 부채란 코드로 되돌아가 업데이트 하라는 뜻이다. 수정하지 않은 채 코드를 내버려둔다면 늘어나는 빚 속에 갇혀 점점 옴짝달싹 못하게 되고 개발 절차도 느려지게 된다. 이는 중요하다. 낮은 코드 품질은 더 긴 개발 기간을 뜻하지만, 길게 보았을 때는 짧은 기간 안에 반드시 갚을 빚을 통해 빠르게 일을 처리할 수 있다는 말이기도 하다.

    기술 부채는 리팩토링이나 설계 조정의 지연, 다음 업데이트까지 라이브러리나 빌드 도구의 업데이트를 미루는 것, 혹은 로깅이나 디버깅을 대충 처리한 부분을 합리화 하는 것이다, 다채로운 비유인 만큼 그 뜻이 오용될 수 있다. 기술 부채는 단순히 잘못된 무언가를 가리키지 않는다. 때에 따라 나쁜 코드를 작성하는 행위가 실용적이라며 정당화되기도 한다. 실용적 선택과 날림 처리 사이에는 분명 차이가 존재한다.

     

    의식적으로 기술 부채를 다룬다면 개발팀에게는 강력한 무기가 될 수 있다. 부채가 쌓이지 않도록 하되 항상 그것을 가시화하라. 실제 부채처럼 빨리 갚아서 과도한 이자와 비용이 들지 않도록 하자.

     

    반응형

    'Technique > Programmer' 카테고리의 다른 글

    15. 규칙 가지고 놀기  (0) 2017.03.21
    13. 소프트웨어 설계에 대한 이야기  (0) 2017.03.19
    응집도와 결합도  (0) 2017.03.16
    12. 복잡도 다루기  (0) 2017.03.16
    11. 테스트 하기  (0) 2017.02.22

    댓글

Designed by Tistory.