소프트웨어 개발이나 IT 서비스 경험이 없는 분들도, 여러 이유로 외부 개발팀에 의뢰할 필요가 생길 때가 있습니다. 처음이라 막막할 수 있지만, 기본적인 방향을 잡는다면 훨씬 수월하게 진행할 수 있습니다. 정부 지원을 받거나 투자자들의 요청으로 IT 도구를 개발해야 하는 상황 등에서, 내부에 CTO나 개발팀이 없는 경우에 꼭 알아두면 좋을 5가지 팁을 정리했습니다.
1. 기술 전문가가 될 필요는 없습니다. 그러나 의뢰하는 비즈니스 문제 전문가여야 합니다.
개발 의뢰를 하려면 기술적인 부분을 알면 좋지만 몰라도 괜찮습니다. 하지만 해결하려는 비즈니스 문제에 대해서는 깊이 이해하고 있어야 합니다. 이는 의뢰인이 해당 문제를 기술적 도구 없이도 (시간과 비용이 더 발생하더라도) 해결할 수 있는 방법을 알고 있다는 것을 의미합니다. 기술적 솔루션을 찾는 건 개발팀의 몫이지만, 의뢰인은 문제 자체를 완벽히 이해하고 설명해야 합니다. 예를 들어, 특정 프로세스 자동화를 원한다면 그 과정의 현재 문제점과 원하는 개선 방향을 명확히 설명해야 개발팀이 올바른 솔루션을 제공할 수 있습니다. 경험이 부족한 의뢰인이 구체적인 요구사항 없이 개발을 진행하면, 예상과 다른 결과물이 나올 가능성이 큽니다. 개발팀이 당신이 원하는 비즈니스 목표를 완벽히 이해하지 못하면, 비즈니스적으로 실패할 확률이 훨씬 높습니다. 기술을 몰라도 괜찮지만, 문제를 이해하고 이를 정확히 설명하는 능력은 필수입니다.
2. 문제의 맥락과 기대하는 솔루션을 성실히 전달하세요.
문제를 해결할 때 단순히 원하는 기능이나 결과만 전달하는 것이 아니라, 문제가 발생하는 맥락과 기대하는 솔루션을 성실히 전달해야 합니다. 명확히가 아닌 성실히 전달해야 한다고 적은 이유는, 명확한 것은 누구나 할 수 있는 역량이 아니기 때문입니다. 그러나 성실히 하는 것은 누구나 정성을 다하고 노력하면 되는 부분입니다.
개발팀은 도메인 전문가가 아닐 가능성이 크기 때문에, 문제를 해결하려는 상황에 대한 충분한 설명이 더 나은 문제 해결책을 제시하는 데 도움이 됩니다. 예를 들어, 직원에게 “사다리 좀 가져와”라고 지시하는 것과 “저기 있는 물건을 꺼내기 위해 사다리가 필요해”라고 설명하는 것의 차이와 같습니다. 첫 번째처럼 명령하면, 사다리가 없으면 일을 해결하지 못할 수도 있지만, 두 번째 방식으로 문제의 맥락을 설명하면 사다리가 없더라도 다른 방법으로 물건을 꺼낼 수 있습니다. 개발팀에게도 이와 같은 방식으로 문제의 배경과 맥락을 설명해야 합니다. 이렇게 하면 개발팀이 더 적합하고 효율적인 해결책을 제안할 수 있습니다. 의뢰인이 기대하는 이상으로 시간이나 비용을 절약할 수 있는 솔루션을 개발팀이 역으로 제안할 수도 있습니다.
3. 기능의 우선순위를 정하세요.
개발을 의뢰할 때, 원하는 모든 기능을 나열하는 것보다 우선순위를 미리 정하는 것이 중요합니다. 대부분의 의뢰인들은 기능에 대해 고민은 하지만, 어떤 기능이 현재 비즈니스 문제를 해결하는 데 가장 중요한지 명확히 하지 못하는 경우가 많습니다. 기능의 우선순위를 설정할 때는, 각 기능이 얼마나 긴급하고 중요한지 평가해야 합니다. 이를 위해 긴급도와 중요도를 기준으로 기능들을 분류하는 것이 유용합니. 예를 들어, 지금 당장 없으면 안 되는 긴급한 기능과, 경쟁사 대비 차별화되는 중요한 기능을 먼저 개발해야 합니다. 초기 제품은 이 두 가지 기준을 만족하는 기능만 넣는 것이 좋습니다. 기능 하나하나에 대해 다시 한번 꼭 필요한지 고민하고, 각 기능이 비즈니스 문제를 얼마나 해결하는지 평가해보세요. 우선순위가 없이 모든 기능을 개발하려 하면, 끝나지 않는 프로젝트가 될 가능성이 큽니다.
4. 합리적인 가격으로 프로젝트를 의뢰하세요.
소프트웨어 개발을 외주로 맡길 때, 가격만 보고 선택하는 것은 위험할 수 있습니다. 물론 모든 프로젝트가 비쌀 필요는 없지만, 지나치게 낮은 가격으로 의뢰할 경우 낮은 품질의 결과물을 받을 가능성이 높습니다. 가끔 전생에 나라를 구해서 아주 저렴한 가격에 능력 있는 개발자를 만날 수도 있지만, 대부분의 경우는 지불한 금액만큼의 퀄리티를 얻는다고 생각하는 것이 좋습니다. 프로젝트를 계약할 때 지나치게 가격을 깎으려고 하다 보면, 결과적으로는 추가 비용이 발생하거나, 초기 의뢰했던 기능들이 제대로 구현되지 않아 재의뢰해야 하는 상황이 발생할 수 있습니다. 따라서 합리적인 가격을 제시하는 개발팀과 협력하는 것이 장기적으로 시간과 비용을 절약하는 길입니다. 예를 들어 저희 개발사의 경우, 고객이 지나치게 낮은 예산과 가격으로 프로젝트를 의뢰하시는 경우, 기능을 제거하면 제거했지, 터무니없이 낮은 가격으로 진행하는 것은 정중히 거절하는 편입니다.
5. 회의는 준비해서 참석하세요.
외주 개발 프로젝트가 진행되는 동안 회의에 준비된 상태로 참석하는 것이 중요합니다. 대부분의 프로젝트는 정기적으로 고객과 개발팀이 만나 진행 상황을 점검하고, 피드백을 반영하는 회의를 가집니다. 이때 고객이 준비되지 않은 상태로 회의에 참석하면, 개발팀이 주도하는 방향으로만 회의가 진행되고 중요한 질문이나 요구사항이 누락될 수 있습니다. 회의 전에 개발 진척 상황을 확인하고, 필요한 질문이나 피드백을 정리해서 준비하는 것이 필요합니다. 또한 프로젝트가 진행되면서 초기 우선순위는 변할 수 있기 때문에, 고객은 지속적으로 우선순위를 재조정하고 개발팀과 소통해야 합니다. 아무리 유연한 개발팀이라도, 끊임없는 요구사항 변경은 프로젝트의 품질을 떨어뜨릴 수 있으므로, 변경 사항을 신중하게 결정하는 것이 중요합니다.
의견을 남겨주세요