Contents

FreeTalk
2016.05.26 16:47

Technical Debt (기술부채)

조회 수 311 댓글 0
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
아름다운 쓰레기와 사상누각 사이 어딘가

얼마 전 개발자 면접을 볼 때 면접자 분이 물었다.


XX: Python으로 개발을 하신다고 들었어요. 회사 내에서 어떤 코딩 컨벤션을 사용하시나요?
YY: 아.. 그게 이제 맞추려고 하고 있어요.


부끄럽다. 하지만 아직도 못 맞췄다.
그리고 새롭게 회사에 들어오신 개발자 분이 내게 물었다.


XX: 웹서비스에서 오래 걸리는 부분들은 모두 비동기로 처리되고 있나요?
YY: 아.. 그게 되는 부분도 있고 아닌 부분도 있어요. 리팩터링이 필요해요.


역시나 부끄럽다. 개선해야 한다는 것을 알고 있지만 할 일 목록 어딘가에서 잠자고 있다.

이런 것들을 통칭해 "기술 부채"라 부른다.
일반적인 "부채"가 이자를 내고 돈을 쓰는 시점을 당기는 것처럼 기술 부채는 기술적으로 해결되어야 할 문제들을 뒤로 미루고, 비즈니스 문제를 해결하는 시점을 당기는 것이다.

technical_debt.jpg

어디까지 네모난 바퀴로 갈까?

(출처: https://christierney.com/2015/12/04/technical-debt-in-an-image/)

예를 들면 다음과 같은 것들이 기술 부채가 된다.
설계된 것을 문서로 남기지 않는다.
  • 유닛 테스트를 작성하지 않는다.
  • 더 이상 사용되지 않는 DB의 항목을 지우지 않는다.
  • 반복되는 일(배포/빌드 등)을 자동화하지 않는다.
  • 긴급하게 스펙을 변경한다.

안타깝지만 오늘도 일어난 일이다. 

"부채"라는 이름이 참 적절하다고 생각되는 것이 돈을 빌리는 것과 유사한 점들이 많다.
  • 빚을 지고 있으면 마음이 불편하다. 특히 빚을 질 때 제일 불편하다. 하지만 그 상황이 지속되면 빚을 지고 있는 상황에 익숙해진다.
  • 빌리는 것은 상대적으로 쉽지만 갚는 것은 어렵다. 게다가 한 번에 갚는 것은 불가능에 가깝다. 지금 당장 문서를 쓰지 않고, 테스트를 작성하지 않는 것은 쉽지만 나중에 그것을 회복하기는 어렵다.
  • 이자가 붙는다. 지금 배포 자동화를 해두지 않으면 배포를 할 때마다 시간을 쓰게 된다. 그 시간이 이자다.
  • 부도가 나는 경우도 있다. 더 이상 복구 불가능한 상태가 되어 프로젝트가 폐기되거나 아예 처음부터 다시 만들게 된다.

돈을 빌리는 것과는 다른 기술 부채만의 특징도 있다.  
  • 빚을 지는 사람과 갚아야 할 사람이 다를 수도 있다. 어떤 사람이 코드를 리팩터링 하지 않은 상태로 두면 그 부채는 다른 팀원이 갚을 수도 있고, 나의 후임이 갚아야 할 수도 있다.
  • 갚아야 할 양이 정확히 예측되지 않는다. 돈을 빌리면 내가 어느 시점에 얼마를 갚아야 하는지 정확히 알 수 있지만 기술 부채는 끝까지 해결하지 않아도 별다른 문제가 되지 않을 수도 있고, 폭탄이 되어 프로젝트를 망칠 수도 있다.

이런 "기술 부채"가 꼭 나쁜 것만은 아니다. 우리에게 돈을 빌려야 하는 이유가 있는 것처럼 기술 부채를 쌓으며 전진을 해야 하는 경우가 있다. 제 시간 내에 결과물을 전달해야 하는 경우이다. 그리고 데드라인은 스타트업에서 훨씬 더 중요하다. 기술 부채를 해결하기 위해 추가로 사용하는 일주일에 사업 기회가 사라져 버릴 수도 있고, 경쟁자가 같은 시도를 먼저 할 지도 모른다.

그렇다면 "지금 기술 부채를 해결할 것인가?"에 대한 의사결정을 어떻게 해야 하는가? 다음 사항에 대한 고민이 필요하다.
  • 기술 부채를 해결하는데 얼마나 노력이 드는가?
  • 기술 부채의 해결로 얻어지는 가치는 무엇인가?
  • 기술 부채를 쌓고, 비즈니스 문제를 풀었을 때 얻어지는 가치는 무엇인가? (보통 이 질문으로 바꾸는 것이 더 쉽다. 비즈니스 문제의 해결을 미뤘을 때 어떤 문제가 생기는가?)

첫 번째 질문은 상대적으로 쉽다. 하지만 그다음 두 가지 질문이 어렵다. 두 가지 모두 변수가 많은 상황을 정량화해야 한다. 따라서 이 비교는 냉철한 분석의 영역이라기보다는 경험에 의한 직관의 영역이라고 생각한다. 다만 그 직관이 보다 정확해 지기 위해서는 회사의 비즈니스 상황과 개발 조직에 대한 명확한 이해가 필요하다.

8퍼센트의 경우 내가 입사 후 지금까지 기술 부채를 쌓는 대신 비즈니스 문제를 빠르게 해결하는 것에 더 높은 우선순위를 두어 왔다. 처음 입사시에는 지금 시기면 비즈니스 문제들이 많이 해결되어 있어서, 아름다운 개발팀을 만들기 위한 일들에 보다 시간을 쓸 수 있을 거라 생각했다. 하지만 성장하는 스타트업에게는 더 많은 비즈니스 기회들이 찾아오고 그 기회들에 대한 실험을 해야 한다는 사실을 잊고 었었다. 하지만 동시에 개발팀의 규모도 커지고 레가시 시스템이 커지고 있다. 즉 기술 부채의 복리효과가 나타나고 있는 상황이다.

오늘도 어떤 쪽으로 추를 옮겨야 할지 고민한다.
개발팀원들이 스스로 만들어내는 제품에 자부심을 잃지 않는 동시에 회사의 사업 또한 속도를 잃지 않기를 바란다.
부디 "아름다운 쓰레기"와 "사상누각" 사이의 고민이 아름답진 않더라도 튼튼한 벽돌집으로 결론 나길 바란다.

[출처] https://brunch.co.kr/@leehosung/2

?

  1. 대학원 학사일정

    일단.. 캡쳐한거.. 문자로 받은 내용.. [Web발신] [2015년도 전기 신입생 OT 안내] 일시: 2015.1.16(금) 10:30, 장소 : 미래융합기술관 601호 강당, 이전 공지에서 일정이 변경되었으니 착오 없으시기 바랍니다. -정보보호대학원 학사지원부-
    Date2015.01.07 CategoryHogoo Byhooni Views602
    Read More
  2. 대학생활 양극화, 젊은이의 꿈을 좀먹다..

    작성일 : 2009년 9월 4일 이런 씨밸.. ㅠㅠ 대학생 양극화<1>동갑내기 두 대학생의 너무 다른 하루 대학생 종우는 월 40만 원을 내고 수학 과외를 받았다. 종우 주변 친구들 중에서도 전공 성적이 안 좋은 몇몇은 지금도 선배나 대학원생에게 과외를 받는다고 ...
    Date2013.05.28 CategoryFreeTalk Byhooni Views7614
    Read More
  3. No Image

    대학생을 위한 웹 개발 공부용 체크리스트

    제가 2012년부터 대학교 3학년 대상으로 강의를 하고 있습니다. 들어보니 요즘 전산 관련학과 학생들은 1년 정도 휴학이 기본이라고 하더군요. 원래 개발을 잘하는 친구들이야 알아서 뭔가 하겠지만, 대부분의 경우 학과에서 배우는 것만으로는 뭔가 부족하다...
    Date2014.12.31 CategoryFreeTalk Byhooni Views757
    Read More
  4. 대학가라고 차마 말하지 못하는 이유

    대학 가라고 차마 말하지 못하는 이유 지금 대학은 어떤 곳인가. 문화 권력이 될 수 있는 대학은 극소수이고, 기회비용 문제가 대학의 목줄을 죄고 있다. 대학은 공동화되었다. 얼마 전 한 지방의 강연에서 만난 아버지는 아들에 대한 걱정이 태산이었다. 중학...
    Date2014.03.04 CategoryFreeTalk Byhooni Views2295
    Read More
  5. 대부분 호텔에 420호가 없는 이유

    호텔에 가게 된다면 방 번호를 유심히 살펴보자. 아마도 420호가 없는 호텔들이 꽤 많다는 것을 발견할 수 있을 것이다. 420호가 없는 호텔들은 보통 319호 다음에 바로 421호로 넘어가거나 420호를 직접 표기하지 않고 419+1호로 표시한다고 한다. 이렇게 하...
    Date2023.09.08 CategoryFreeTalk Byhooni Views346
    Read More
  6. 대륙의 어린이

    한국 못지 않구나..
    Date2014.11.12 CategoryFreeTalk Byhooni Views433
    Read More
  7. 대륙의 실수!! ‘샤오미’가 만든 가성비 좋은 ‘7가지’ 제품

    via Mi / Facebook 요즘 '대륙의 실수'라는 말이 심심치 않게 들려온다. 가격은 싸면서 성능은 국내 제품 못지 않게 뛰어난 중국 제품들이 많기 때문이다. 이를 증명이라도 하듯 하루가 다르게 입소문을 타며 폭발적인 인기를 누리고 있다. '산자이'(山寨, 모...
    Date2015.03.26 CategoryFreeTalk Byhooni Views714
    Read More
  8. 대단한 911

    우리나라였다면 그냥 뚝! 뚜.. 뚜.. 뚜.. ㅋㅋ
    Date2014.10.24 CategoryFreeTalk Byhooni Views511
    Read More
  9. 당신의 정을 아까워하지 않는 이에게 더 이상 사랑을 주지 마라.

    당신의 정을 아까워하지 않는 이에게 더 이상 사랑을 주지 마라. 그 사람은 그냥 그 정도였을 뿐이었고 그냥 그 정도만 주면 되는 것이다. 사랑 받아야 하는 사람은 사실 당신이니까..
    Date2016.05.25 CategoryFreeTalk Byhooni Views967
    Read More
  10. 당신의 운을 시험 하시겠습니까?

    The Monty Hall Problem (몬티홀 문제) 게임쇼에 출연한 당신. 진행자가 3개의 문을 보여줍니다. 그 중에 하나는 고급차량이 있고, 나머지 두 문 뒤엔 염소가 있습니다. 당신은 문 하나를 골랐고, 진행자는 당신이 고르지 않은 문 하나를 열었는데 염소가 있네...
    Date2017.06.30 CategoryFreeTalk Byhooni Views797
    Read More
  11. 당신을 연애 고자로 만드는 맞춤법 TOP 7

    여대생 중 95%가 “맞춤법을 자주 틀리는 남자는 호감도가 감소한다”고 밝혔다. (출처) 물론 애교로 넘길 수 있는 것도 있지만, 그 중 완전히 기분을 망쳐버리는 맞춤법 실수도 있다. 대표적인 몇 가지를 뽑아 봤다. 1. 당신은 나의 발여자 발여자(X) 반려자(O...
    Date2014.10.10 CategoryFreeTalk Byhooni Views607
    Read More
  12. No Image

    당신은 진짜 프로그래머 인가?

    전부는 아니지만 공감가는 항목이 꽤 있다 ㅎㅎ [출처] http://bit.ly/leNawS 1. 가짜 : 책상에 온통 책으로 덥혀있다. 자세히 보면 웹부터 시스템 프로그래밍까지 동내서점같다. 그런 자기 책상을 보며 자랑스러워 한다. 진짜 : 책상에 담배재와 잡동사니만 ...
    Date2013.05.28 CategoryFreeTalk Byhooni Views7202
    Read More
Board Pagination Prev 1 ... 47 48 49 50 51 52 53 54 55 56 ... 80 Next
/ 80