시간과 비용은 비례하지 않아요.

고은연·2021년 4월 12일
12

스타트업

목록 보기
11/16

집에 열쇠가 고장났어요. 열쇠공을 불렀는데 한시간동안 땀을 뻘뻘 흘리면서 열쇠를 풀어주었어요.
만족하면서 돈을 드려요.
다음번에 열쇠가 다시 고장났어요. 다른 열쇠공을 불렀더니 2분만에 깔끔하게 열어주었어요.
첫번째와 두번째 중 누가 고객 만족도가 높을까요?

놀랍게도 대부분 첫번째에요. 사람들은 "노력"과 "시간"을 기준으로 돈을 지급하기를 원해요.
"능력"을 기준으로 돈을 지불하는 것을 오히려 꺼려하죠.

냉정하게 생각해 보면, 문이 빨리 열리면 내가 2분만에 집에 들어갈 수 있으니 좋은 거에요. 첫번째 열쇠공의 노력은 인정하지만, 나는 실력 없는 열쇠공 덕분에 한시간이나 집에 못 들어간거죠.


스타트업에서도 많이들 이런 실수를 해요. "저가" 업체를 찾고, 오랜 시간동안 만들면서, 결과는 형편없죠.
그러는 동안 시장 진입의 시간을 놓쳐요.

같은 기능을 훨씬 빠른 시간 내에 처리해 주는 "고가" 업체도 있어요. 만약 같은 기능을 "저가"업체가 1달만에 해 준다면 "고가" 업체는 일주일만에 해치우죠. 되려 퀄리티도 이쪽이 좋은 경우가 많아요.

일주일만에 원하는 기능을 구현했을 때 스타트업의 반응은 크게 두개로 갈려요.

"일주일밖에 걸리지 않았으니 돈은 일주일치만 주겠어요."

혹은 "한달이 걸릴 것을 일주일만에 만들어 주었으니 한달치도 아깝지 않아요."

첫번째 선택을 할 경우 당장의 돈을 아낄 수도 있어요. 하지만 "고가" 업체는 다시는 일을 맡지 않을 테고, 맡는다고 해도 일주일만에 할 수 있는 일을 한달동안 하겠죠. 스타트업은 금전적 비용을 절약하는 대신, 시간비용을 잃어버려요.
두번째 선택을 할 경우 당장 지출이 가슴아플 수도 있어요. 그렇지만 "고가" 업체 입장에서는 "더 빨리 할 수록 더 많은 돈을 번다"는 동인이 생기게 되고, 스타트업이 원하는 속도를 맞출 수 있어요.

"업체"가 아니라 "직원"이어도 마찬가지에요. 보통 직원을 고용할 때는 "월급"을 기준으로 하죠. 월급은, 한달에 며칠을 어떤 방식으로 일을 하든 동일한 임금을 지불한다는 의미에요. 직원 입장에서는 굳이 열심히 해야 할 동인이 없어져요.
그저 흠 잡히지 않을 정도로 최소한의 것만 하게 되죠.


이제 우리 기준을 바꾸어 봐요.
노력이 아니라 결과를 기준으로 판단해요.

품질은 측정할 만한 지표가 적고 논란이 많으니 최소한의 것만 생각하는 거에요.
"동작이 되는가, 안되는가" 여부만 놓고 보는 거죠. boolean 연산으로 할 수 없는 것은 일단 과감하게 빼 버립시다.
그 외적인 것은 부차적으로 생각해 보고, "동작만 된다면" "얼마나 빨리 만들어내는가"를 기준으로 생각해 보는 거에요.

업체든 직원이든 일을 하는 사람이 뭘 하든 크게 신경쓰지 말아요. 대신 기간 엄수가 가능한지만 고려해요.
만약 기간보다 더 빨리 끝낸다면, 그냥 기간에 맞는 금액을 지불하세요.
이제 우리는 무조건 기간 안에 원하는 기능을 얻을 수 있어요.

"돈보다 시간이 더 중요해요."


가끔 이런 식으로 말하면 "코드 품질은?!" 이라고 반문하시는 경우가 있어요.
당연히 코드 품질은 몹시 중요해요. 하지만 코드 품질이 사업의 속도보다 중요하지는 않아요.
언젠가 코드 커버리지가 커지고, 기능 하나를 추가할 때 너무 오랜 시간이 걸리게 된다면 그때야말로 코드를 리팩토링해서 품질을 높일 시점이 되었다는 신호에요.

기능이 속도를 잡아먹을 정도의 크기가 되었다는 건 a.) 사업이 잘 되어서 기능이 많이 추가되었거나 b.) 기능은 많은데 사용하는 기능은 한정적인, 즉 방향을 잘못 잡고 있다 둘 중 하나일 꺼에요.

  • a.) 라면 "시간을 돈으로 사세요." 더 많은 인원을 고용하고, 코드를 개선하는 팀과 신규 기능을 개발하는 팀을 나누세요.그것이 지금보다 더 커지는 기반이 될 꺼에요.
  • b.) 라면 우선 방향부터 재정비하세요. 로그를 확인하고, 어떤 기능이 얼마나 많이 사용되는지 통합될 수 없는지 방향부터 생각해 보세요.

무엇을 하든 밸런싱은 중요해요. 어느 때는 속도를, 어느때는 품질을 고민해야겠지요.

무작정 속도를 밀고 나가면 나중에는 겉잡을 수 없을 혼동의 헬게이트가 열릴 거에요.
반면 코드 품질을 밀고 나가면 아무리 시간이 지나도 완성되지 않는 결과물을 보게 될 테죠.
비용을 중요하게 여긴다면? "동작하는 척"만 하는 소프트웨어를 얻게 될 꺼에요.

profile
중년 아저씨. 10 + n년차 웹 백엔드 개발자. 자바 스프링 (혹은 부트), 파이썬 플라스크, PHP를 주로 다룹니다.

2개의 댓글

comment-user-thumbnail
2021년 4월 24일

공감되는 글이네요.. 감사합니다

1개의 답글