brunch

You can make anything
by writing

C.S.Lewis

by Hika Apr 23. 2020

개발사의 돈관리

망하느냐 살아남느냐!

다른 직업인이 그렇듯 대부분 개발자들은 평생해온 일이라곤 개발 밖에 몰라서 조직에서 밀려나든 개인적인 꿈이 있든 많은 경우 개발사를 창업아이템을 생각하게 됩니다.


나는 개발을 잘하니까 개발사를 차리면 먹고 사는건 문제없지 않을까? 일 줄만한 곳도 몇 군데 있는데..

이런 나이브한 생각으로 개발사를 차리면 안된다! 라는 얘기를 하고 싶은게 아닙니다. 차리셔도 됩니다. 막차리세요.

단지 돈에 대해서 중요하게 생각해볼 게 있어서 오늘은 그에 대해 얘기해볼까 합니다.

나도 오늘부터 사장!




혼자 개발하는 프리렌서

개발사를 차리는건 사업자만 내면 되니까 오늘이라도 즉시 자본금도 없이 만들 수 있습니다.

이 때 개인 사업자이면서 직원도 없다면 자금관리라는 건 그저 내 주머니에 돈이 있나 없나 정도를 관리하면서 지름신만 강림하지 않으면 잘 조절하면 됩니다(물론 일을 받아 돈을 벌고 있다는 가정 하에서요 ^^)


활활 태웠어. 혼자서...




직원이 있는 회사를 차린 경우

오늘 얘기의 주제는 당연히 프리렌서가 사업자 낸 경우가 아닌 정말 회사를 차려 직원에게 급여를 줘야하는 상황인 사장님들이나 예비 사장님들에게 도움이 될까 하여 쓴 글입니다.

다들 직원들에게 주는 급여보다는 돈을 더 많이 벌 수 있다고 생각하니까 고용하셨을 겁니다. 근데 개발사라는건 돈이 참 미묘하게 들어옵니다. 

그것에 대해 세부적으로 분석해보면서 뭐가 문제인지 생각해보죠.


계약금과 완료금이 있는 경우

우선 계약금을 받는 순간 본인의 돈이라고 생각하시나요?

물론 내 통장에 있으니까 내 돈이라는 생각이 들기 마련이지만 실은 고객이 선지급한 돈입니다. 실제 회계 장부상으로도 선지급금으로 잡을 수 있습니다.

왜 선지급금일까요?

아직 인건비를 집행하기 전에 돈을 받았기 때문입니다. 

반대로 완료금은 개발사 사장입장에서 미지급금입니다. 아직 돈을 받지 않았는데 인건비가 나가는 상황이죠.


이게 잘 이해가 되시질 않을거라 그림으로 생각해 보죠.


우선 2월에 시작해서 4개월만에 끝내는 일을 수주했다고 합시다. 그럼 그림처럼 2월부터 5월말까지 인력이 투입될 것입니다.

전체 금액을 알기쉽게 1억으로 하고 계약금 오천만원과 완료금 오천만원이라고 생각해보죠. 이걸 간단히 생각해보면 다음과 같습니다.

아니, 이런 당연한걸 왜 이렇게 길게 그림으로 설명하는거지? 라는 생각이 드실거에요.

그럼에도 불구하고 이 그림을 잘 봅시다.

그러면 2월1일에 들어온 오천만원은 개발사 사장 입장에서 아직 직원에게 급여를 한푼도 안줬는데 생긴 돈이라는 것을 알 수 있습니다.

회사가 매달 2500만원씩 소비하는 조직이라 간단히 정의해보면 두달 동안 쓸 오천만원을 아직 집행하기도 전에 먼저 돈부터 받은 셈입니다.

이제 통장의 잔고를 기준으로 생각해보면 위와 같다는 것을 알 수 있습니다. 

2월1일에는 오천만원이 생겨나고 이후 3월말까지 소비되어 0원이 됩니다.

따라서 3월말까지 집행할 돈을 먼저 땡겨받은 셈이므로 고객입장에서는 선지급금인 셈이죠.


이 시기까지가 바로 행복한 구간입니다. 개발사 할 맛 나죠!

오예! 내 통장엔 두달동안 쓸 돈이 
이미 확보되어있다!



이제 암울한 구간인 중반 이후도 생각해보죠.


잔고부분에 집중해주세요.

4월말이 되면 잔고는 마이너스 이천오백이 됩니다.

게다가 5월 말이 되면 무려 마이너스오천만원이 되죠.


완료금이 말일에 딱 맞춰 들어오나요?

그건 알 수 없습니다 ㅜ.ㅜ

고객님이 주시면 들어오는거지만 안주시면 늦게 들어오거나 심지어 안들어올 수도 있습니다.

화장실 들어갈 때와 나올 때의 자세와 마음은 다를 수 있는 거니까요.

계약시점: 잘 좀 부탁드립니다.

완료시점: 음 이거 이상한걸요? 


쨌든 완료금은 쉽게 들어오지 않습니다. 그렇기 때문에 잔고가 0으로 되는건 쉽지 않습니다.

그럼 계속 잔고는 마이너스 오천이군요. 그 마이너스도 5월1일부터 계속인 셈입니다.





계약금, 완료금이 주는 교훈

결국 일억짜리 계약을 하면 기간 절반까지는 계약금으로 안전하게 비용을 집행하면서 개발할 수 있습니다.

하지만 고객은 이 넘들이 잘할지도 모르는데 불안에 떨면서 먼저 돈을 줘야하죠.

반대로 중반이후부터는 개발사가 완료금을 안줄지도 모르는데 자기 비용을 집행하면서 개발해야만 합니다.

하지만 고객은 제대로된 개발물이 와야 완료금을 줄 수 있는 입장이 되죠.

 

그래서 일견 공평하게 리스크를 반반 나눈 것처럼 보입니다만, 실은 고객은 완료금 시점에 제대로 된 개발물을 받지 못하면 완료금을 안줘도 이미 계약금을 날린 셈이라 더 리스크가 크긴 합니다.


여기서 부터 서로 다른 두 가지 교훈을 도출할 수 있습니다.


 큰 힘에는 큰 책임이 따른..아니 큰 매출엔 큰 현찰이 필요하다!

우선 첫 번째는 일억짜리 일을 수주하려면 적어도 그 절반인 오천만원을 갖고 있어야한다는 점입니다.

개발기간 중 절반은 자기돈으로 비용을 감당해야하기 때문이죠.

따라서 돈이 없는데 함부로 큰 일을 받았다간 여러가지가 담보잡히거나 신불자에 빠질 가능성이 굉장히 큽니다. 완료금은 쉽게 받을 수 없기 때문입니다.

나에게 나쁜일이 생길리 있나~

(있습니다!)


현금흐름의 핵심은 완료금을 적시에 받는데 있다!

결국 계약금은 안주면 그 일을 안하면 되니까 손해 볼 일이 없습니다.

제 경우는 철저하게 계약금이 안들어오면 일을 시작하지도 않고 일정 기간이 넘어가면 계약된 계약서도 이 조항에 따라 파기해버립니다. 아쉽다고 이걸 어기고 예외로 일을 해줘봐야 좋았던 일이 한 개도 없었습니다.


문제는 완료금을 받는 것입니다. 완료금을 받지 못한다면 거대한 빚(그것도 이미 돈을 썼음!)을 지게 되고 회복도 안됩니다. 그럼 개발사 운영의 핵심은 완료금을 받는 것이다!라고 얘기해도 과언이 아닌거죠.




완료금을 잘 받는 방법

개발 완료시점에 계약대로 잘 만들었다면, 완료금을 받을 것이다!

...라고 생각하시는 분들이 많으시겠죠?

하아... 이게 얼마나 엉상한 생각인지 차근차근 짚어보죠.


계약대로

우선 계약대로라고 되어있는데 계약서에 개발물의 상세 내용이 얼마나 표현되어있다고 생각하시나요. 일반적으로는 을은 갑의 서비스를 개발한다 정도로 정의되어있습니다.

별첨에 RFP가 포함되어있어봐야 실제 개발물에 비하면 훨씬 소소한 내용입니다. 그야말로 

쏘나타같은 자동차를 납품한다 

정도의 내용인 것입니다. 실제 계약대로 만든 결과물이 모닝일 수도 있고 그랜져일 수도 있겠습니다.

문제는 이러한 부실한 정의로 인해 실제 계약대로 만들어졌는가를 판단하는건 다들 자기 안의 정의대로 평가한다는 것입니다.


하지만 완료금은 고객이 주는 것입니다. 따라서 고객의 기준에 쏘나타같은 차가 아니라고 한다면 잘잘못의 문제가 아니라 일단 완료금은 안들어올 것입니다.


잘 만들었다면, 완료금을 받을 것이다

이것도 정말 말도 안되는 것입니다. 고객은 개발사에게 돈을 주고자 계약을 한 게 아닙니다.

누구나 그렇듯 개발사에게 일억짜리를 발주했다면 본인은 그것 갖고 매출이 아니라 순익으로 일억이상 그것도 단기간 내에 가치를 창출할 수 있다고 믿기 때문입니다.

근데 그때는 이걸로 그렇게 할 수 있다고 생각해서 발주했는데 그 사이에 시장이 급변해서(예를들어 타다랑 비슷한 앱을 발주했다가 그 사이에 타다금지법이 제정되었다고 생각해보세요) 개발물을 인수해도 기대수익이 없거나 낮아졌을 때라면 고객은 어떻게 행동할까요?


당연히 손실을 최소하려고 할 것입니다. 즉 계약금은 이미 지불했지만 완료금이라도 안줘서 손실을 최소하려고 하겠죠. 일단 안주는 쪽으로 맘 먹었으면 그 다음부터는 안줘도 되는 그럴듯한 이유를 열심히 준비할 것입니다.

그럼 지루한 공방이나 법정 공방도 일어날 수 있습니다. 일단 고객은 오천만원이하로만 돈을 쓸 수 있으면 되니까 소송해도 손해가 아닙니다. 하지만 개발사는 어찌되나요?


이미 여러분의 잔고는 마이너스 오천입니다. 여기에 소송비나 시간이 지날수록 고정인건비는 계속 나가고 있습니다. 법정공방이 되면 다른 일에 투입되어야하는 인력마저 빨려들어가서 2중고가 됩니다.

즉 무조건 고객이 이기는 싸움이고 사장들은 폭망할 것입니다.


이건 내가 원하던게 아니야~ 상황

또한 이런 상황 아니라 실제 인수할 생각이 있는데 고객이 보기에 

이건 전혀 쏘나타급의 차가 아니라 아반떼라 난 완료금을 줄 수 없다. 이런 사항들을 싹 고쳐와야 주겠다.

라는 것입니다.

그럼 이 사태는 두 가지로 볼 수 있습니다.

1.

우선 개발사가 나쁜 넘들이라 진짜로 쏘나타 돈 받고 아반떼를 만들어 준 경우죠.

슬프게도 동종업계에 제가 종사하고 있습니다만, 많은 개발사가 이 부류에 들어갑니다 =.=;;

이유는 쏘나타를 만들 능력이 없는데 자동차(모닝) 좀 만들어봤다는 이유로 수주했기 때문입니다.

(뭐 영업은 어렵고 돈벌기는 더욱 어려우니까 어떻게든 일을 따오려고 하는 맘은 이해합니다만, 고객은 피해를 보고 결국 업계 전체를 불신하게 되죠 =.=)

2.

다른 경우는 고객이 생각했던 의도와 방향성을 제대로 이해하지 못한 것입니다.

개발사에서는 뭔소리냐 이 서스펜션과 소파는 틀림없이 쏘나타 급인데 뭐가 아니라는 거냐! 라고 하고

고객은 이 엔진이 아반떼 급이지 이게 어떻게 쏘나타급이냐 라고 하는 상황이죠.

한 대 맞아야 알아듣냐?


즉 뭘 고객이 중요하게 생각하지를 스펙문서만으로는 알 수 없다는 것입니다.


특히나 고객은 기술적인 이해가 낮기 때문에 요구사항을 자세하게 설명해주지도 않고 실제 관심도 비지니스에만 있지 그 비지니스를 성립시키기 위한 중요한 기술적 요소도 잘 모릅니다.

하지만 프로젝트가 진행되고 인수될 때 쯤에는 학습이 많이 되어서 드디어 내가 레이싱 사업에 쓸거니 엔진이 중요하구나 같은 개념이 생기게 되는 것입니다.


완료금 잘 받는 방법의 결론

1번의 경우는 개발사를 접어라라고 까진 할 수 없지만 자기 실력에 맞는 일을 받아야 겠죠. 만들지도 못할 걸 무모하게 수주해서 모두를 망치는 미래는 짜피 선택해봐야 불행해집니다. 대부분 개발사 처음 차리면 이 함정에 빠져서 망합니다. 갑자기 자신감이 충만해서 왠지 다 개발할 수 있을 것 같단 말이죠 ^^;


2번의 경우를 방지하려면 고객과 커뮤니케이션을 깊게 자주 해라...라고 생각하시면 큰 착각입니다.

뭔지 잘 모르는 사람과 깊게 대화해봐야 뭔지 잘 모르는 대화를 깊게 한 것입니다.

고객이 알 수 있는 유일한 언어로 대화하셔야 오해를 사전에 방지하고 서로의 생각을 일치시킬 수 있습니다.


여러분들이 생각하시기에 고객이 알 수 있는 유일한 언어가 뭐라고 생각하세요?


작동하는 소프트웨어입니다 ^^


고객은 그 앱을, 그 서비스를 직접 이용해보고 써봐야 그게 뭔지를 알게 됩니다. 따라서 전체 개발 100을 한 번에 보여주는 이상은 한국말로 어떤 커뮤니케이션을 하셨든 무조건 이게 내가 원한 그게 아닌데요라고 어긋납니다.


항상 10만들면 10만큼 보여줘서 만지고 갖고 놀고 의견을 받고 20만들면 20만큼 사용할 수 있게 해줘야합니다. 아니면 완료금을 제때 못받는 문제는 해결할 수 없습니다.


고객이 만지다가 중간에 의견이 바뀌거나 스펙이 늘거나 하는데요?


라고 고민하실 분들도 많을 것입니다. 근데 그건 짜피 발생할 일입니다 ^^;


 그게 개발사 사장의 빚이 최고로 많이 쌓여있는 완료금 시점에 발생할거냐 계약금이 커버해주는 구간이나 빚이 덜 쌓였을 때 발생할 것이냐의 차이일 뿐입니다.


게다가 이렇게 긴밀하게 본인이 관여하고 만져보고 방향성을 결정하는 고객의 경우 본인의 의사로 수정을 시키는 경우 추가비용에도 동의하게 됩니다. 사람은 인지적인 동물이니까요.


따라서 다 완성되면 베타를 보여준다라는 방식을 그만두세요. 만들어지는 만큼 보여주세요. 그것만이 완료금을 제 때 수령하거나 추가금액에 대한 계약을 할 수 있는 유일한 방법입니다.

쇼미더제품!!



부록편 개발사가 망해가는 과정 시뮬레이션

위의 결론들은 너무 교과서적인 측면이 있습니다.


뭐래는 거야 결국 개발능력에 맞는 일을 맨날 제때 잘 영업해오고 고객에게 수시로 보여줄 수 있는 개발태세를 갖춰라라니 누군 안하고 싶어서 안하냐!


뭐 그렇습니다. 현실적으로는 많은 어려움이 있고 실현하기는 쉽지 않습니다. 그렇지만 그렇기 때문에 개발사들은 완료금을 잘 받을 수 없습니다. 하지만 먹고는 살아야하죠. 따라서 또다른 현금 조달 방법을 찾게 됩니다.


바로 새로운 일을 계약해서 계약금을 받는 것이죠. 이것을 시뮬레이션 해보죠.

이 시나리오는 그나마 굉장히 잘 풀렸을 때의 시나리오 입니다. 현실은 더욱 안풀립니다 ^^


1. 첫 번째 수주한 일의 4월부터는 자금이 바닥납니다.

2. 그래서 어쩔 수 없이 두 번째 일을 수주했습니다. 이 계약금으로 자금을 충당한거죠.

3. 하지만 자금을 예상해보면 그렇다하더라도 5월말에는 감당할 수 없습니다.

4. 따라서 6월초에 시작될 일을 하나 더 수주해서 계약금이 생겨야 잔고를 맞출 수 있죠.

5. 그렇지만 완료금이 들어오지 않는 이상 고작 6월말부터 회사는 망해갑니다.


결론적으로 완료금을 못받는 개발사에게 미래는 없습니다.

이게 극단적인 예로 보시면 큰 착각입니다. 대부분의 개발사가 이렇습니다. 그리고 대부분 망합니다 ㅜㅜ

저도 제가 2004년부터 여태까지 안망하고 개발사 외길로 살아남은게 이해가 안되는 수준이 아니라 미친 거 아닌가 싶을 때가 한 두번이 아닙니다. 그리고 십오년 넘게 해왔지만 여전히 매일 매일이 생존 현장입니다..하아.

완료금 좀 주세....

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari