시스템 개발에서의 다단계 계약이란 무엇인가: 권장되는 이유를 포함한 설명
![시스템 개발에서의 다단계 계약이란 무엇인가: 권장되는 이유를 포함한 설명](https://monolith.law/ko/wp-content/uploads/sites/10/2023/11/11185.jpg)
시스템 개발 프로젝트에서는 다단계 계약이라는 방식으로 계약 업무가 진행되는 경우가 많습니다. 이 글에서는 시스템 개발에서의 다단계 계약에 대해, 그것이 권장되는 이유 등을 포함하여 설명해 드리겠습니다.
다단계 계약이란?
![](https://monolith.law/wp-content/uploads/2019/11/shutterstock_669170671-1024x576.jpg)
일반적으로 계약을 체결하는 실무는 계약서를 통해 이루어집니다. 즉, 보수를 지불하는 측(시스템 개발의 경우 위탁자)이 보수 지불을 의무로 인수하고, 일을 받는 측(시스템 개발의 경우 벤더)이 해당 서비스를 제공하는 것을 서면으로 약속하는 것입니다. 이렇게 양 당사자가 자신이 인수하는 의무를 약속하는 것이 계약의 본질입니다.
각 공정의 성격에 따른 계약을 체결하고 작업을 완료하다
그러나 시스템 개발 프로젝트의 경우, 프로젝트의 내용 자체도 여러 공정을 거쳐 진행되는 것이며, 그 내용도 복잡해지기 쉽습니다. 이러한 업무의 성격을 고려하면, 계약도 여러 번에 걸쳐 진행하는 것이 적절한 경우도 있습니다. 즉, 프로젝트 전체를 관리하는 계약서 자체도, 구조적으로 아이디어를 정리하여 작성하는 것이 좋다는 것입니다. 예를 들어, 각 공정마다 계약을 재체결하는 방법이 실무에서 매우 선호됩니다. 이러한 계약 방식을 다단계 계약이라고도 합니다. 경제산업성이 제공하는 모델 계약도 이러한 다단계 계약에 기반한 것입니다.
각 프로젝트에서 체결되는 계약의 종류
시스템 개발에서 자주 사용되는 계약은 도급계약과 준위탁 계약의 두 가지입니다. 각 공정의 성격에 따라 이 두 가지를 구분하면서 전체를 관리하는 것입니다. 시스템 개발의 전 공정 중에서, 예를 들어, 상세 설계, 프로그램의 구현, 단위 테스트 등은 도급계약이 일반적으로 사용됩니다. 이러한 공정이 도급계약에 잘 맞는 이유는, 도급계약이 ‘작업의 완성’이라는 결과를 채무이행 요건으로 중시하는 것이며, 공정의 성격으로서 ‘완성’의 요건을 구체화하기 쉽기 때문입니다.
반면, 시스템 개발의 전 단계에서의 기획이나, 요구사항 정의와 같은 단계는 준위탁 계약이 자주 사용되는 경향이 있습니다. 이러한 공정의 특징은 ‘작업의 완성’의 요건을 명확화하는 것이 쉽지 않은 경우가 많고, 양 당사자의 신뢰관계가 계약의 기초가 되는 경우가 많다는 점입니다. 기본 설계·통합 테스트 등의 공정에서는 프로젝트의 성격에 따라 준위탁·도급 어느 쪽도 사용됩니다. 이러한 공정에서 어느 계약을 선택해야 하는지에 대해서는 위탁자의 협력이 어느 정도 필요한지가 한 가지 포인트가 됩니다.
벤더 측에 일방적으로 ‘작업의 완성’을 채무로 요구하는 성격의 것이라면, 도급계약을 선택하는 것이 간편하다고 생각할 수 있습니다. 그러나 실제로 위탁자와 벤더의 공동작업이 필요한 경우라면, 그러한 양 당사자의 신뢰에 기반한 관계에 법적보호를 주는 것이 현실적인 경우도 있다는 것을 이해합시다.
본 기사에서는 프로그램의 구현 등, 결과물의 모습이 구체적으로 특정하기 쉬운 것은 도급계약이 사용되는 경향이 강하고, 그러한 경향이 작은 것일수록 준위탁 계약이 사용되는 경향이 강하다는 것을 설명하고 있습니다. 이렇게 여러 번에 걸쳐 체결되는 도급계약·준위탁 계약의 총체로서 일련의 프로젝트를 파악하는 것이 다단계 계약에 기반한 계약실무입니다. 또한, 여러 번 같은 내용을 반복하지 않아도 되도록 공통사항을 정리하여 추출한 것이 ‘기본 계약서’라고 할 수 있습니다. 마치 프로그램의 구현에서 공통요소를 클래스나 함수로 묶어 놓는 것과 매우 비슷합니다.
기본 계약서에 많이 작성되는 사항으로는, 예를 들어,
- 여러 번 반복해서 사용하는 용어의 정의
- 개별 계약을 체결할 때의 절차
- 구현해야 할 사양을 사후에 변경하는 방법
- 각 공정별 결과물의 인도·검수 방법
- 비밀유지의 방법
등이 있습니다. 이러한 특징은, 단계별로 계약이 별도로 분리되어 있더라도, 일련의 프로젝트라는 관점에서 보면 일반적으로 공정에 따라 구분할 필요가 없고, 일관되게 같은 내용이 됩니다. 이렇게, 보다 일반성이 높고, 범용성이 높은 합의를 기본 계약으로 추출하고, 각 공정별로 구분하여 개별적으로 합의해야 할 부분은 개별 계약으로 기본 계약의 하위에 두는 것이 다단계 계약의 특징입니다. 다단계 계약은 시스템 개발에 한정되지 않고, 규모가 크거나 복잡한 상업거래에서도 자주 사용됩니다. 이러한 복잡한 구조를 가진 다단계 계약의 반대개념은 일괄계약입니다. 만약 주제가 시스템 개발이 아니라 주문제작 슈트의 발주라면, 계약은 일반적으로 일괄로 충분할 것입니다.
![](https://monolith.law/wp-content/uploads/2019/11/3-1024x665.jpg)
다단계 계약의 장점은 무엇인가
그렇다면, 이런 다단계 계약 방식을 채택하는 장점은 무엇일까요? 구체적으로 다음과 같은 장점이 있습니다.
다단계 계약의 장점 1: 개발 프로젝트의 유동성에 대처하기 쉽다
다단계 계약의 장점 중 하나는 개발 프로젝트의 유동성에 대처하기 비교적 쉽다는 것입니다. 일반적으로 일련의 시스템 개발 프로젝트는 원칙적으로 사전에 정의된 요구사항에 따라 설계 및 프로그램 구현 등으로 진행되며, 절차에 앞뒤나 되돌림 없이 한 번에 진행하는 것입니다. 그러나 제작물의 복잡성으로 인해 작업 기간도 상당한 기간이 소요되는 것이 일반적이며, 구현해야 할 사양의 내용이 사후에 변경되는 경우도 드물지 않습니다.
즉, 프로젝트 시작 시점에서는 최종 목표가 반드시 명확하게 정해져 있지 않습니다. 이런 불확실한 요소를 포함한 프로젝트라면 특히, 계약 체결시점에서 모든 의무를 일괄적으로 상호약속하는 것이 어려워질 수 있습니다. 각 공정을 분할하는 것이 양측에게 불필요한 위험을 감수하지 않고, 원할한 상업거래를 촉진합니다.
다단계 계약의 장점 2: 견적을 정확하게 내기 쉽다
또한 위에서 언급한 ‘불확실한 것에 대해 굳이 확약하지 않아도 된다’는 장점은, 견적금액을 정확히 할 수 있다는 것을 의미합니다. 원래 사후에 사양변경이 이루어진다면, 견적 또한 사후에 변경해야 할 필요가 있을 수 있습니다.
사후 사양변경에 따른 견적변경은 위의 기사와 비슷하지만, 기존 사후에 이러한 변경을 처리하는 것은 위탁자와 벤더 양측에게도 그다지 바람직하지 않습니다. 수정이 필요한 견적은 처음부터 이행하지 않고, 정확하게 한 번에 완료하는 것이 최선입니다. 다단계 계약이라면 각 공정별로 분할하여 계약이 이루어지므로, 견적을 정확히 내기 쉬우며, 사후적 견적변경이 어려워집니다.
다단계 계약의 장점 3: 보수를 지불하는 측에서 볼 때 금액의 타당성을 이해하기 쉽다
또한, 각 공정을 분할하여 견적을 내는 것은, 프로젝트 전체에 대한 보수에 대해, 보수를 지불하는 위탁자 측에서도 금액의 타당성을 이해하기 쉽다는 것을 의미합니다. 앞서 언급한 바와 같이, 일련의 프로젝트에 완벽한 의미에서의 계획성을 가지고 접근하는 것은 결코 쉽지 않습니다. 따라서 오히려 다양한 변경을 거치며, 또한 초기견적에도 변경이 이루어지면서 진행되는 경우가 많습니다. 이런점에 대해, 일괄계약에서는 견적금액을 설명할 기회가 첫 계약 체결 시점에서만 있습니다. 위탁자에게는 지불단계에서 초기견적과 실제 지불금액 사이에 차이가 발생한 이유를 알기 어려울 것입니다. 이러한 점을 고려한다면, 다단계 계약은 위탁자에게도 일정한 장점이 있다고 할 수 있습니다.
요약
다단계 계약은 공정하고 명확한 형태로 양측의 합의를 형성하는 데 적합하며, 향후 문제를 예방하는 데도 효과적입니다. 그러나 ‘반대로 다단계 계약에도 어떤 단점이 있고, 오히려 개별 계약이 더 좋은 경우도 있지 않을까?’라고 생각하는 사람도 있을 것입니다. 굳이 말하자면, 매번 계약을 체결하는 수고로움 때문에, 소규모이며 곧 종료될 업무인 경우에는 일괄 계약이 좋습니다. 그러나, 다단계 계약의 매우 제한된 단점을 보기보다, 정확하고 변화에 대응하기 쉬운 다단계 계약의 장점을 충분히 히해하는 것이 중요합니다. 일정 규모 이상의 프로젝트라면, 당연히 이러한 방법을 사용하도록 합니다.
Category: IT
Tag: ITSystem Development