개발자 생각 #22
재개발 요청이라고?
그런데 업체에 PM이 없어?
뭐하는 업체야?
이런 대화가 시작된다면, 프로젝트에 문제가 있다는 이야기이다.
외주요청을 받을 때마다 확률적으로 20%는 재개발 요청이다.
어떠한 이유로 첫번째 외주개발은 실패확률이 높을까?
그들 말대로 개발(자)회사만의 문제였을까?
아니면 무엇이 문제였을까?
만약 1차 외주를 실패한 고객사가 실패의 원인을 전적으로 개발탓만 한다면 외주용역을 맡지 않는 것이 현명하다. 이유는 단순하다. 서비스 개발은 외주개발보다 개발관리가 핵심이다. 개발진행에 문제가 있었다면 단계별 결과로 개발업체를 교체하거나 스톱시켰어야 했다. 그것을 하지않고 최종 결과물만 가지고 평가했다면
"개발관리를 소홀히 한 것"
이고 이는 서비스 운영측인 고객사의 관리능력 부족을 말하는 것이기도 하다.
듣고 싶지 않지만 종종 듣는 이야기
1.
"믿는 사람에게 맡겼놓고
몇 달 후에 결과를 보았더니
돈만 받고 재대로 만들어 놓은 것이 없어요~"
이런 이야기가 나온다면 장담하건데 요청한 업체가 관리능력이 없는 것이다. 더 심각한 것은 "자신들이 관리 능력이 없는 것이 왜 문제인지도 모르는 업체"라는 것이다. 모든 개발은 완벽하지 않다. 제작과정에서 수많은 이슈가 발생한다. 그리고 몇 백 개가 넘는 다양한 난이도의 이슈를 처리해서 서비스를 오픈한다고 해도 문제는 반드시 발생한다. 큰 서비스일 수록 개발이슈는 줄어들지 않고 늘어난다. 카카오 같은 빅테크 회사들이 꾸준히 개발자를 뽑겠는 이유가 무엇이겠는가? 운영을 하면 할 수록 이슈가 더 많이 발생되기 때문이다.
그렇기 때문에 서비스 운영이 목적인 회사는 개발업체만큼의 이슈를 파악하고 있어야 한다. 돈주고 알아서 하라는 식은 절대로 서비스 운영을 할 수 없다.
서비스 운영은
개발이슈를 이해하지 못하고는
불가능하기 때문이다
중요한 것은 개발이 아니다
2.
수퍼개발자라면 모든 것을 해결한다
라는 이상한 소리를 하면 안된다. 개발자는 노동자이고 숙련도의 차이가 있을 뿐, 잘못된 개발공정에서 성과물을 내놓을 수는 없다. 무턱대고 개발비용만 투자한다고 좋은 결과물이 나오는 것이 아니다. 서비스 기획 및 운영, 그리고 개발공정을 관리하는 Project Manager의 존재가 있을 때 개발자의 결과물이 의미가 있는 것이다.
개발자는 교체가 가능해야 한다.
그러나 서비스 기획 및 운영은 함부로 바뀌면 안된다.
그리고 외주개발에서 가장 중요한 포지션은
PM(Project Manager)이다.
PM의 능력이 프로젝트에서 가장 중요하다.
3.
모든 외주개발이 성공할 수는 없을 것이다.
목표치를 근접한 경우도 많지만, 원했던 목표치를 만족시키지 못하는 경우도 많다. 그렇기에 PM은 목표치를 재조정하거나 추가, 유지보수에 대한 계획과 일정을 수립하는 역할을 한다. 만약 PM이 없다면 어디까지 완성된 것인지 파악하기 힘들고 지금까지 만들어놓았던 외주개발을 버려야 할 지 수정해서 사용해야 할 지 판단할 수 없다.
결국 만들어놓은 프로그램에 대한
평가, 서비스 운영, 안정화가 불가능해진다.
누가 PM을 해야 하는가?
4.
가장 좋은 방법은 고객사에서 하면된다.
그러나 현실은 그렇지 못하다. 개발에 대한 기본적인 지식조차 가지지 못한 고객들이 대다수이다. 그렇기에 원청사에 "외주개발관리(PM)"를 포함시켜 용역을 요청하는 경우가 많다. 그러나 이것 또한 완벽하지 못하 다. 원청사는 모든 할 일과, 이슈, 일정관리에 대해서 고객사에게 "confirm"을 받아야 하기 때문이다.
결국, 고객사도 반드시
PM의 역할을 하는 사람이 있어야 한다.
그러므로 "고객사의 PM"과 "원청사의 PM"이 존재하여 끊임없는 소통을 통해 이슈관리를 처리해야 한다. 만약 고객사는 그런 것 모르니 알아서 다 해주세요 라고 한다면, "프로젝트는 망할 가능성이 높다". 개발공정에서 "알아서"는 없다. 요청사항만큼 해주는 것이 개발이다.
고객사가
개발과정과 이슈를
신경쓰고 싶지 않다면
외주개발을 하지 말아야 한다.
성공할 수 없다.