[CIO BIZ+]소프트웨어 개발 프로젝트 성공률 높이려면

Photo Image

 국내 소프트웨어 개발 프로젝트 가운데 20%만 납기와 비용을 준수한다는 기사(전자신문 5월 31일자)는 20여년 동안 IT분야 개발자와 컨설턴트로서 업무를 수행한 내게 적지 않은 충격이었다.

 보통 어떤 업무를 완료하기 위해서는 가장 먼저 그 일을 수행하기 위한 기본 계획을 수립하고 예산을 산정할 것이다. 일에 대한 계획을 수립하려면 일을 최소 단위로 나누고 자원을 할당하며 수행 기간을 정해 그에 따른 예산을 책정한다. 제품을 만들거나 건물을 건립할 때도 용도, 고객 편의 등을 고려한 기본 계획을 수립하고 제조 또는 시공을 할 것이다.

 제조분야에서는 제조물의 자재명세서(BOM)를 바탕으로 제품수명주기관리(PLM)를 수행하고, 건설분야에서는 빌딩정보모델링(BIM)을 수행해 기본 설계도(아키텍처)를 구축해 각각의 용도에 맞게 활용하고 있다.

 정보기술(IT)분야의 소프트웨어 개발 프로젝트는 소프트웨어 특성상 눈에 보이지 않기 때문에 사용자가 실제로 사용해 보기 전에는 사용자의 의도를 파악하기가 쉽지 않다. 따라서 요구사항 분석, 컴포넌트 개발 등 소프트웨어 개발 생산성을 높이기 위해 여러 가지 방법이 시도되어 왔고 지금도 시도되고 있다.

 그러나 소프트웨어 설계문서가 아직도 일반인에게 익숙하지 않은 표기법으로 되어 있고, 우리나라 개발자 대부분은 설계문서 작성에 노력을 기울이지 않은 채 자신의 능력을 믿고 바로 코딩하는 방식을 선호하고 있다. 즉, 소프트웨어를 개발할 때 기본적으로 설계문서의 중요성을 인식하지 못하고 있는 실정이다.

 이러한 상황에서는 소프트웨어 개발을 기획하는 단계에서 필요한 기본적인 설계서 작성조차도 어려움을 겪기 때문에 개발 기간, 예산 등을 정확하게 산정하기 어렵다. 소프트웨어를 개발할 때 이처럼 부정확하게 계획을 수립하는 것이 프로젝트 실패 요인 가운데 한 가지로 간주되고 있다.

 이런 현실은 우리나라 소프트웨어 개발이 기획 단계부터 구현 단계까지 체계적, 과학적이지 않을 뿐더러 소프트웨어 개발에 필요한 인식 및 제반 환경이 아직 성숙하지 않았다는 것을 단적으로 보여준다. 이러한 요인들이 국내 소프트웨어 개발 프로젝트 대다수가 성공적으로 납기를 지키지 못하는 결과로 나타났다고 볼 수 있다.

 소프트웨어 개발 프로젝트의 성과를 높이기 위한 여러 노력 가운데 우리나라 공공기관에서 지금 법적으로 의무화하고 있는 엔터프라이즈아키텍처(EA) 도입을 공공기관뿐만 아니라 민간 기업에서도 적용하길 권하고 싶다.

 아키텍처란 용어가 생소할 수 있지만 가만히 들여다보면 재미있는 개념이다.

 국제전기전자기술자협회(IEEE)-1471 국제표준에서는 ‘아키텍처란 시스템을 구성하는 요소를 식별·정의하고 그들 간의 관계를 설정해 놓은 기본적인 구조체이며, 설계와 전개에 대한 가이드 원칙을 가지고 있다’고 정의한다. 또 모든 시스템은 하나의 아키텍처를 가진다고 전제하고 있다.

 좀 더 확대 적용해 보면, PLM의 BOM, 건설분야의 BIM, 소셜네트워크서비스(SNS)도 하나의 아키텍처로 볼 수 있다. 이렇듯 ‘세상의 모든 것은 하나의 아키텍처를 가지고 있다’고 선언해도 될 것이다.

 우리가 어떤 일을 도모할 때 하나의 기본 아키텍처를 만들어 계획을 수립하면 좀 더 현실에 가깝고 불확실성을 줄일 수 있을 뿐 아니라 보다 구체화, 가시화할 수 있다. 모든 이해 관계자들이 아키텍처를 통해 소통하게 되면 성과물에 대한 만족도를 향상시킬 수 있을 것이다.

 따라서 IT분야 소프트웨어 개발에서도 그 성과를 획기적으로 높이기 위해서는 기업(기관)이 전사 차원에서 비즈니스 전략과 정렬된 시스템 아키텍처를 수립하고, 계획부터 구현, 운영 등에 아키텍처 기반으로 정보시스템을 도입한다면 소프트웨어 개발 프로젝트의 성과를 개선할 수 있다.

 이를 위해서는 국내 소프트웨어 개발 환경을 성숙시키기 위한 제도적인 뒷받침이 필요하다. 즉, 소프트웨어 관련 법·제도에 아키텍처 관련 사항을 통일해 명시하고, 저변 확대를 위해 기관 및 기업이 아키텍처를 구성하도록 하며, 능력 있는 아키텍트(설계자)를 갖추도록 권장하고, 국가적으로 각 분야에 경험이 많은 전문가를 아키텍트로 양성할 수 있는 체제를 마련하는 것이 필수적이다.

 현재 국내 공공기관은 정보시스템을 도입할 때 아키텍처를 수립해 활용하고 있으며, 안정적인 정착을 위해 아키텍처 담당자들이 고군분투하고 있다. 나는 이들의 노력이 국내 소프트웨어 전 분야로 확산되길 희망한다. 이것이 국가 소프트웨어 경쟁력에 일조하리라고 믿는다.

 김용철 에이더블유아이 부사장 yckim@awi.co.kr

 

EA

브랜드 뉴스룸