용역(SI)이 부정적이기만 할까?

종종 여러 업체 관련자분들에게 용역(SI)에 대한 얘기를 듣게 되는데 어제도 관련해서 듣다보니 왜 용역에 대한 부정적인 의미가 강할까? 란 생각이 들었다. 그 부정적인 의미 중에서도 품질(Quality)에 관해서 불만이 많았는데 얘기를 나눌 때는 이에 대해서는 생각이 많아져서 맞장구를 치진 못했다.

그들이 말하는 품질은 코드의 품질을 의미할까? 제품의 품질을 의미할까? 란 의문이 발단이었다.

만약 코드의 품질을 의미한다면 그들이 왜 용역을 선택했을까란 질문을 해야할 것이다. 애초에 인력은 없는데 제품을 만들어야 한다거나 있던 인력이 이를 커버 못할 때, 상주하던 인력이 퇴사했을 때 등의 상황에서 용역사용에 대한 판단을 하게 되는게 일반적이다. 쉽게 말해 급하니 용역을 찾게 되는 것이다. 코드의 품질은 급할수록 질이 떨어진다. 결국 코드의 품질이 좋지 않은 것은 용역 자체의 잘못도 있을 수 있겠지만 그 일을 맡긴 사람의 잘못도 있다는 것이다.

그리고 코드의 품질을 평가할 때 기준은 한 가지가 아니고 퍼포먼스 최적화가 된 코드인지 유지보수가 용이한 코드인지 등의 여러 가지가 있을 수 있다. 또한 코드를 평가하는 사람이 명확하지 않은 상황에서 좋다/나쁘다 따지기도 힘들다.

반대로 제품의 품질이 기준인 상황에서 풀어보자. 내부에서 아무리 긴밀하게 일을 하더라도 기획서나 디자인이 도출된 상황이더라도 개발을 하다보면 약점이 존재할 수 밖에 없다. 여기서는 커뮤니케이션 스킬이 투입되는데 개발자가 피드백을 줘서 해당 부분에 대한 수정 요청을 하게 되고 조금 능숙한 담당자라면 어떻게 개선하면 좋을 것 같다는 의견이 들어가게 되는데 난 이를 커뮤니케이션 스킬이라고 생각한다. 반대의 경우도 마찬가지인데 용역이 상주를 하던 비상주를 하던 이런 긴밀한 커뮤니케이션이 없어서 제품의 품질이 떨어졌다면 이 역시도 용역의 전적인 잘못은 아니라는 것이다.

돈을 주고 일을 맡긴다고는 하지만 용역은 만능이 아니다. 기정 사실화인 것처럼 “용역에 맡기면 품질이 안좋잖아요”라는 말에는 스스로도 잘하는 것이 없다는 말도 포함이 되어 있다는 것을 명심하면 좋겠다.

나 역시도 용역을 좋아하진 않는다. 가장 큰 이유는 코드는 지속적으로 진화해 나가야 한다는 관점 때문이다. 한 번 만들어지면 만능인 것처럼 코드를 짜던 시대는 지나간지 오래되었고 이 부분은 용역으로 해결이 되지 않는다. 지속적으로 한 용역업체에 맡긴다면 가능은 하겠지만 능동적인 대처가 쉽지 않다. 물론 난 아직 사업이라는 것을 해보지 않은 일개 노동자이기 때문이다.

결론은 용역에게 맡긴 코드나 제품의 품질을 일방적이게 용역의 탓으로 치부하지 말라는 것이다.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
YoonBong Kim

iOS Application Developer and wanting to be Application Planner. I just do like people without any conditions they have. Eager for some knowledge constantly.