하~~ 1년6개월전 개발하던게 중재신청후 8개월이 다되어가네요. 지칩니다.
물 성격이 이곳에 맞는지 모르겠군요. 아니라면 죄송합니다.
24년 IT업계에 한우물 파고 살면서 이런일은 처음입니다.
화병에 시달려 자다가 벌떡 일어나 몇달동안 집 아파트 주변을 몇시간을 돌다 잠이 든적도 있네요.
모 IT외주 플랫폼에서 ERP개발건을 보고 발주자에게 유용할만한 기능까지 +알파로 지원하였습니다.
발주자 "갑"으로부터 인터뷰 요청이 들어왔고 핵심은 다음과 같습니다.
갑 : "프로젝트 공고에는 없는 내용인데 전자세금계산서 발행, 매입세금계산서 조회, 계좌조회 기능을 솔루션을 가지고 있는 타사의 API를 활용해서 해줄 수 있느냐?"
소위 말해 홈택스 연동개발인거죠.
왜 갑자기 인터뷰에서 뜬금없이 타사 API를 학습하고 연동해야하는 걸 요청하나 싶었고 그냥 단순발행이 아니라 ERP내의 전표, 발주서, 견적서와 밀결합기능과 매입은 API로 매입조회하여 매입전표에서 매칭확률이 높은것을 자동으로 찾아주는 기능등을 아주 대충 얘기하길래 딱 들어봐도 잘 못 대답했다간 큰일 나겠다 싶어 명확히 답변했습니다.
나 : 지금 계약하기로 한 범위만으로도 기간내 완료가 부담된다. 계약하고 개발이 원활히 마무리가 된다면 발행, 조회수준정도는 서비스해드릴 수 있다. 그리고 특정업체 API를 아직 선정도 하지 않았고 확인도 안되니 괜히 포함시켰다가 나중에 서로 갈등생길거 같다. 일단 연동할 API서비스 업체등 좀 알아보 후에 얘기하자!
였습니다. 갑도 명확히 동의했습니다.
그런데 계약서에 추상적으로
"전자세금계산서 발행, 매입계산서조회, 계좌조회 기능"이라고 명시를 해두었길래 서비스지만 안해줄까봐 기어이 넣는구나 생각하고 계약후 일을 진행했습니다.
계약서상 계약기간 3개월, 갑이 말한 전자세금계산서 관련은 제외하기로 합의(녹취 명확).
계약전 갑은 모든 요구사항들이 다 구상되어있다 했고 개발자가 감당할지 조차 의문일만큼 준비되어 있답니다.
저는 요구사항이 그리 명확하게 잘 되어 있다면 오히려 잘 된일이다 싶어 계약한 건이구요.
나 : 개발명세서와 개발계획서 수립하기위해 방문하겠다.
갑 : 먼데 오지말고 카톡으로만 소통하자.
나 : 그런거 없다. 3개월 기간내에 완성해야하는데 카톡소통은 오해소지가 커서 시간만 더 소비되어 안된다.
갑 : 그럼 준비하고 있겠다.
막상 미팅하니 급하게 엑셀시트 한장에 스무줄 러프하게 끄적거린걸로 구두로 설명하는데 그조차 요구사항의 아주 일부분이며 러프한 수준.
"아~ 구상이 명확하다는게 그냥 머리속에 있다는거였구나~" 확인하고 대략 미팅내용 정리하여 개발시작.
공수도 만만찮은데 갑은 요구사항이 머리속에 있다는 강한 느낌과 그렇게 요구사항이 명확하게 구상되어 있다고 했는데 설마... 하면서도 긴장타야겠다는 생각에 당일 이미 갑의 서버에 셋팅 완료했고 우선 기초코드개발작업 진행.
단위 프로그램 완료될때마다 서버에 올리고 소통(뭐하고있다 언제 뭐할거다등에 대한 보고 철저히 함).
근데 뭔가 이상하다 싶은게...
일단 받은만큼의 요구사항을 반영하기위한 설계업무와 함께 기초코드관리 핵심 부분 약 21본을 매일 16시간 작업하면서 5일만에 완료.
갑은 화면구성도 좋고 전반적으로 만족한다면서 기초코드관리 전반에 대해 글자 하나 부터 아주 사소한 부분까지 다 짚어주길래 빨리 반영하고 잊어버리자 싶어 즉각 반영해주는데 이게 한도 끝도 없는겁니다.
구상이 되어있는게 아니라 생각나는데로 얘기하는겁니다. 이제 끝이겠지 하면 계속....
상당한 시일이 소요되고있어
나 : 개발의 핵심이 아닌 이런 사소한 부분을 몇일째 잡고 있으면 3개월은 커녕 6개월안에도 끝 못끝냅니다.
핵심적인 요구사항을 빨리 받아 매입매출전표같은 핵심적인 부분을 원하시는 요구사항대로 개발하는데 집중해야하는데 이러면 6개월안에도 힘들다. 경험적으로 하는 말이니 믿어주십시오.
갑 : 개발명세서를 작성하게되면 개발자가 딱 그것만 해주고 안해줄수도 있으니 그냥 단계별로 진행할때마다 내가 얘기해줄테니 다음 단계 들어갈때 요구사항을 얘기(카톡)해줄테니 그때그때 전달받고 진행하자.
그러다보면 뒤에 작업한것 때문에 앞에 작업한것을 수정해야할 상황도 생길텐데 그런 수정도 다 해주는 방식으로 가자.
나는 개발기간이 길어져도 상관없다. 내가 원하는 기능을 모두 다 구현하고싶다. 그래서 이렇게 개발하고자 한다.
계약서상 개발기간, 개발금액, 개발범위 정해놨는데 이제와서 개발금액은 변동없고 개발범위와 개발완료기간을 갑의 마음이라니? 요구사항도 정리되어 있지도 않고 제때 안주더니 이제와서 개발범위를 확정짓지말고 갑이 원하는 수준까지 무기한이라고? 그리고 그로인해 늦어진다해도 지체상금 받지 안겠다니?
발주자가 개발자에게 대놓고 이런 말을 하고 실제 개발과정에서 그렇게 하는건 그냥 지위남용 수준으로 보아야 할까요;;;
이말이 개발자의 편의를 봐준다는 식으로 돌려서 말하길래 황당해서 당장 전화통화.
나 : 그럴 수 없습니다. 저희는 개발기간내 개발완수가 관건입니다.
고객이 시간이 충분하다해서 그 기간을 따라가면서 원하는게 무엇인지 개발명세서 도출도 못하도록 하는것은 안됩니다. 사장님이 도와주셔야 끝낼 수 있습니다.
핵심적인 요구사항을 반영해서 진행해야하는 상황에 이런 사소한 것 까지 짚어나가면서 한다면 나중에 책임소재 문제 터지고 개발자 지쳐서 결국 사장님에게도 피해가 가게됩니다. 그 제안 받아들이지 못하겠습니다.
갑 : 그럼 말 못한 기능은 개발 중간중간에라도 얘기하겠다.
나 : 하십시오! 중요한거든 사소한거든 지금 당장 반영해야하는거라면 늦게 말씀하셨더라도 해야하는건 해야겠지요?
그런데 개발을 지연시키는 방법으로 진행하시니까 말씀드리는 것입니다.
"계약서를 통째로 무시하고 제게 노예계약하라는 말을 편하게 하시네요~~" 라고 하고싶었는데 을이다 보니 또 예를 차릴 수 밖에요;;;
이후 저는 진행중인 사항 보고와 함께 다음 진행할 일정 미리 전달해가면서 작업하는동안
갑에게 요구사항 목록같은 단 한장의 종이조각 하나 못받고 그때그때 카카오톡으로 던지는 요구사항을 받아야했습니다.
이미 프로토타입이라할 만큼 작업이 다 진행되었을때도 그냥 카톡으로..설계 엎고 다시 작업은 당연히 있죠;;.
개발중 카톡, 전화로 소통한 것의 90%이상이 개발자의 선연락이었고 요구사항 수렴하여 진행하지 않으면 안되는 프로젝트인만큼 답답해서 개발자가 정리하여 갑에게 역질문을 하면서까지 진행했습니다.
어디어디에 뭐뭐가 있는데 여기에 이렇게 하시겠습니까 저렇게 하시겠습니까? 결정해주셔야 진행 가능합니다. 식으로요.
그전까지는 갑으로부터 절대 먼저 연락 없습니다.
급기야 개발중간에
갑 : 전에 말한 홈택스연동 부분 감안해서 개발진행하고 있느냐?
이게 뭔소린가 했습니다. 전자세금계산서를 하든 자체개발을 하든 매입매출전표 개발후 별도의 설계후 밀결합하니 지금 생각할 단계도 아니고 핵심적인 매입매출전표 부분이 원활히 마무리되면 결정하고 서비스차원으로 고민해보기로 한것인데 마치 개발하기로 한 것 처럼 당연하게 말하지? 싶었지요.
아차! 갑이 예전에 개발명세서를 만들고 진행하면 개발자가 그것까지만 해줄거니까 그렇게 하지않고 그때그때 가서 얘기해주겠다고 한게 개발자가 정확히 의도를 알아채지 못하도록 염두하고 의도적으로 말한거구나 싶었죠.
결과적으로 보니 개발기간이 3개월이었던게 6개월을 초과하는 수준이었는데 갑은 이미 본인이 요구할 개발분량이 크다는걸 알고 있었다는거죠.
그래서 조건부 서비스라고 했던걸 억지로 계약서에 끼워넣고 개발명세서 작성 반대, 개발기간 무기한, 개발범위는 갑 맘대로 하고자 한다며 개발공수를 알지 못하도록 하기 위함이었던 겁니다.
개발이 어느정도 진행이 되고나니 이제와서 개발의 완성도를 위해 꼭 해줘야한다고 하니....
개발의 완성도를 위해 필요한 것을 왜 애초에 프로젝트 공고의 요구사항에 누락을 시켜놨을까요?;;;
도대체 어디까지 어떤 기능을 원하는지 대충이라도 알려주지도 않는 상태에서 해달라고만 합니다.
을이 힘이 있나요. 최소한 전자세금계산서 API솔루션 업체의 API를 학습하고 담당자와 어디까지 구현가능한지도 확인해봐야하는 상황이라 시간이 좀 지체되었습니다.
이것도 제가 하기 싫으면 안해도 되는 것이지만 여태껏 개발하고 고객에게 억지로 프로그램 안겨준 적없는지라 왠만하면 서비스로 약속한 발행, 조회수준은 해드리려고 배려를 한 것이었습니다.
그런데 갑은 끝까지 말을 아끼다가 때가되니 내가 원하는 수준은 그게 아니다! 라는거죠.
그래놓고 이제와서 개발이 지연되고 있다면서 각서를 쓰랍니다.
합리적인 의구심이라는 이유로 3개월간 개발한 소스를 지금 당장 보내라는 강요로 소스까지 줬는데 어이없게 그 뒤로는 아무말도 없습니다. 내가 소스를 왜줘? 하고 고민하는 동안 지금 당장 안주면 가만있지 않겠다는 분위기여서...
가져가는 순간 내 지적 재산권은 당신이 양수받은것이다 생각하고 줬었지요 선택의 여지가 없었으니까요.
다시 통화해서 갑에게 직접적으로 말하면 또 후한이 두렵기보다 귀찮아질거 같아 예를 갖춰서 설명을했습니다.
나 : 세금계산서API연동은 개발범위에 속하지 않습니다.
계약서상의 개발마감일 열흘 앞두고 낌세가 이상해서 중도금 요청한것도 받지 않고 완료되면 일괄지급 받겠다 했는데 굳이 매입매출 부분 개발 90%이상 진행되었고 만족스럽다면서 기어이 지급하시네요.
그러고는 세금계산서 API연동까지 요구를 하셨는데 녹취에 있다시피 그것은 계약에 분명 미포함이고 통보가 아닌 상호 동의한 사항입니다.
그게 아니라면 공수를 산정할 수 있도록 전달해 주시면 추가개발기간과 금액의 조정이 당연히 있었을텐데 그게 없었습니다.
그런데 상당한 시일이 지난 지금도 추가로 요구하시는 개발에 대해 어떠한 요구사항도 제게 일체 전달하지 않고 있습니다.
개발자가 개발할게 무엇인지도 말씀 안해 주시는데 필요한 개발기간과 개발비용 산정을 어떻게 합니까?
지금까지도 요구사항을 제때 전달하지 않아 일정이 지연되어 제 피해가 큰 상황입니다.
을이라는 이유때문에 갑의 의무 태만으로 지체되어도 제대로 말 못하고 늘어난 개발기간을 저는 감수하고 있습니다.
그럼 사장님의 기준이라면 계약서상의 개발기간이 3개월이 다되어가는 시점에 개발 공정율이 50%도 안된다는 말인데 그때 개발기간 도래일이 다되었을때 제게 클레임을 걸고 책임소재를 따졌어야하는데 오히려 개발진행 맘에 들어 개발자가 안받겠다는 중도금까지 굳이 주셨는지요? 앞뒤가 안맞습니다!
개발기간을 현저히 잡아먹는걸 요구하시는걸 아셨으면서 개발금액은 그대로이고 기간은 갑의 마음대로라니요?
개발금액은 왜 그대로입니까? 서로 투명하게 요구하고 개발금액이 더 요구되는거면 그렇게 해야하는거 아닌가요?
내가 뭘 잘못했습니까? 얘기해주십시오. 인정되는거 있으면 각서 쓰겠습니다. 그게 무엇입니까?
갑 : 그럼 얼마가 더 필요하다는겁니까?
나 : 돈 더 달라는게 아닙니다. 이미 요구사항도 제때 안주시고 방문하겠다 할때마다 올라오지말고 카톡으로 하자 하시고 일정도 지연, 스트레스로 피해가 이만저만이 아닙니다. 신뢰없이 일 못합니다. 이미 돈 문제는 의미없습니다.
개발자가 판단해서 해드릴 수 있으면 해드린다고 한 사항을 이제와서 이걸해야 개발의 완료다라고 하시면서 왜 개발 기간은 계약서상 그대로 3개월로 두셨을까요? 개발기간이 늘어난다는걸 상호 협의되면 개발금액도 조정이 되어야하는데 왜 개발기간에 대한 언급이 없었습니까?
계약서상 개발범위가 변경되거나 그에 따른 모든 사항은 추가계약서 작성이 없으면 무효라고 명시되었는데 개발자는 절대반대 표시했는데 일방적으로 개발기간은 갑의 마음이고 개발범위도 갑의 마음이라하면서 정작 요구사항은 제때 없이 그렇게 시간을 보내셨습니다.
도대체 내가 뭘 잘 못했습니까?
갑 : 각서 얘긴 내가 잘 못 꺼낸거 같습니다.
나 : 필요하신게 뭡니까? 말씀을 안해주시니 이거 안하면 개발완료 아니라는 식이니 을이 무슨 힘이 있습니까?
누누이 말씀드리지만 요구사항 제때 왜 안주시냐? 그래서 개발을 못하겠다고 하는데 왜 그러십니까?
전자세금계산서 부분도 지금까지도 요구사항 정리 안해주시고 그때그때식으로 하셔서 개발완료하기 위해 뭘 원하는지 가봐야 알기 때문에 따라와 봤지만 여전히 요구사항을 숨기고 말 안해줍니다.
설마설마 양심은 있겠지 했는데 결국 밤잠못자고 2개월을 더 소비해서 추가개발부분 100중 60을 완료한 듯 했는데 체력도 바닥이지만 변하지 않는 갑의 개발방식에 대한 고집으로 약이 바짝 올라있었던 상황.
나머지 개발 부분 계좌조회 홈택스 연동에 대한 요구사항만큼은 준비되어 있겠지? 하고 요청하니 정리해서 내일까지 주겠답니다.
다음날 받아보니 메모장 한바닥 미만으로 텍스트로 끄적끄적... 봐도봐도 뭔말인지 모를 추상적인 내용.
몇달동안 정말 갑은 개발명세작성 못하도록은 물론 본인 스스로도 개발기간동안 머리속 외에 요구사항을 정리한게 전혀없었다는 결론이죠.
갑에게는 개발자가 최소수준이라도 알아먹을만큼의 요구사항을 성의껏 정리할 수 있는 시간이 무려 4개월이상 있었습니다. 갑은 이 개발에 대해 정해진 돈으로 최대한 뽑아내는데만 몰두했고 본인의 의무를 해태한 사실에 대해서는 전혀 생각하지도 않네요.
물론 대놓고 개발자에게 개발명세서 만들기 싫으니 요구사항 미리 못주겠다고까지 했으니 줄리가 없죠.
을이기 때문에... 개발을 마무리해야 그동안의 힘들었던 것이 어느정도 상쇄는 되기때문에 질질 끌려왔는데 갑은 오로지 갑의 이익때문에 마지막까지 개발공수가 크다는걸 알리기 싫어 요구사항을 사전에 주지 않더라구요.
제가 모르는 것도 아니지만 갑이 요구한 요구사항의 80%수준으로만 여러 타사에 견적을 내어보니 최소 1,000 최대 1,500이더군요. 계약상의 원개발비보다 더 큽니다;;;
일이 붉어지기전 3개월간 갑으로부터 개발 잘해주고 있고 마음에 든다는 말만 들었지 개발과정에서 문제있다거나 불만족스럽다는 말 한마디 듣지 않았습니다.
자존심 상하고 힘들고 당연히 손실은 말할것도 없는데 한번도 개발실패를 해보지 않았다는 자부심과 자존심때문에 끝까지 노력했는데 이건 아니다 싶어 개발 중단하고 중재신청했습니다.
만5개월을 일하고 말이죠;;;
처음엔 지금까지의 과정에서 겪은 것들을 생각하면서 홧병이 나서 정신이 없었지만 여기에 투입한 제 평균 업무시간을 계산을 한 번 해보니 개발 완료 감안하면 월급으로 150만원도 안되더군요 ㅎㅎ
갑이 원하는게 뭘까 하고 유추하는 시간과 갑에게 요청하거나 역질문할 내용을 정리하는데 소요되는 시간도 상당했으니 물론 설계와 코딩에만 전적으로 소요된 건 아니지요. 개발자가 할 필요가 없는 짓을 해야만 했으니까요.
개발명세서 만들지 말자! 미리 말해줄 생각 없으니! 그러니 개발일정도 안나오는데 개발완료일도 내가 오케이하면 오케이인거다. 내가 뭘 원하는지 한번 알아맞춰 봐라~~는데 방법이 있습니까.
중재신청후에 갑이 먼저 300 더 줄테니 마무리해달라는 제안을 받고 거절했습니다.
이미 엄청난 손실을 보았기 때문에 돈문제는 의미가 없다고 누누이 얘기했는데....
갑에게는 지금까지 해오던 개발이 완료만 된다면 이 300만원의 제안으로도 손해가 아니라는걸 당연히 알죠.
제게 미안하고 너무 고생한걸 인정해서 300만원을 제안한게 아니라는것 쯤은.
그리고 추가요청한 개발범위에 대해 요구사항을 안준거도 본인이 인정하면서 이제부터 요구사항 모두 전달해서 개발명세서 명확하게 작성하고 화면 UI까지 다 끝내고 할 수 있도록 하겠다. 그러니 마무리 해달라 합니다.
이제와서 300만원이라는 돈으로 마무리를 보려고 하는 그말에 더 약이 올랐습니다.
나 : 정말입니까? 제대로 요구사항 주시고 뭔 개발해야할지 같이 명세서 작업하시겠습니까?
갑 : 그렇게 하겠다.
나 : 그런데 제가 이제는 더이상 못믿겠습니다.
갑 : 얼마 안남았지 않냐. 그렇게 하면 될 거 같다.
내 이력에 개발실패를 없애고 싶어 돈보다 그냥 더러워서 마무리해주려는 마음에 잠시 또 마음이 약해져서
나 : 안하려고 하기보다 해보려고 하는 마음으로 더 생각해보겠습니다. 할 생각이라면 연락드리고 내가 찾아가겠습니다.
그랬더니....
갑 : 빨리 결정해라! 하려면 이번주 안에 다 마무리하자.
나 : 이번주면 주말포함해 며칠 남지도 않았습니다. 정리 되시겠습니까?
갑 : 내가 다음주 부터 경기도 화성으로 출근한다. 그러니 하려면 이번주 안에 끝내자.
안되면 올라오지말고 카톡으로 진행하자.
나 : 시간 필요합니다. 연락드리겠습니다.
어차피 미팅을 해도 개발자가 찾아갔는데 지구 옆 화성도 아니고 경기도 화성인데 왜 다음주엔 안된다는건지...
도대체 이 프로젝트에 관심은 있었는지...
지금까지 카톡으로 깨작깨작 타이밍 안맞게 일거리 줘서 늦어지는게 큰 원인이라고 그렇게 말했는데도 또 카톡타령.
그동안 요구사항 뽑아내려고 올라간다고 했던 4회중 갑이 올라오지 말고 그냥 카톡으로 하자고 한게 3회.
개발자가 요구사항 아직 전달 너무 안되서 방문해야겠다 하며 방문하니 또 대충이라도 요구사항이라며 보여줄 문서 를 만들어야하는데 그 성의라는게 엑셀시트 20줄.
2회 방문해서 받아온 문서가 달랑 15줄 분량의 엑셀시트 두개. 그동안 받은 문서가 이미지6장. 뭐 받은게 없습니다.
나 : 중재신청하겠습니다. 그동안 너무 힘들었고 손실이 너무 큽니다.
돈 때문에 일하는거도 아니지만 돈 때문에 잘못된 판단을 하고싶지 않습니다.
이미 경험했는데 마음 약해져서 마무리 지으려다가 더 수렴하기 어려운 상황 발생하면 괜히 돈 때문에 마무리 지으려고하는 개발자로 프레임 씌워지는거까지 감수하기엔 무리가 있습니다.
하여 중재 진행중입니다.
자기 돈 안아까운 사람 어딨겠습니까.
최소한의 비용으로 최대한의 결과를 보려고 하는건 알겠지만 의도적으로 상대에게 엄청난 손실을 입혀가면서까지
교묘하게 목적을 달성하려고 이렇게까지 해야하나 싶어 안타깝지만 이 일이 제 일인지라 개발의 완료여부 문제가 아니라 왜 부당한 개발을 요구당했는지에 대해 명확히 설명하려니 자료도 만만치가 않네요.
돈에 환장한 만큼 상도덕과 양심도 그만큼은 되어야하지 않을까요.
400개 화면 가량의 카카오톡 내역, 그동안의 모든 증거녹취파일을 포함해서 개발능력이 부족해서가 아니라 더 이상 할 이유가 없다는 주장을 하기 위한 자료를 만드는것도 쉽지 않은데 자료를 정말 다 읽고 이해를 받을 수나 있을까 하는 우려도 있습니다.
얘기치 않은 판정이 나오면 아마도 천직으로 믿고 살아왔던 24년 경력의 개발자로써 마감이 되지 않을까 싶습니다.
계약시 개발자와의 동의나 통보조차 없이 계약서에 합의하지 않은 내용을 모호하게 넣는 클라이언트가 이후에는 어떤 태도를 보일지가 명확하더군요.
녹취가 없었다면 아마도 그냥 포기했을겁니다.
소프트웨어개발을 하면서 을의 입장이지만 단 한번도 무시 당하거나 일방적 갑질하는 갑을 만나본 적이 없었던거 같았는데 생각해보니 그게 아니더군요.
을이라는 입장을 제가 이미 받아들이고 갑의 요구를 대부분 큰 손실이 없는 한도에서 다 받아들이면서 일해왔다는 사실을 새삼 다시 깨달았습니다.
천직이었던 24년 개발은 여기서 마무리하게 만들 만큼 큰 경험 하고있습니다.