심기보 KAIST 소프트웨어 대학원 겸직교수, PM/PMO 리서치 대표


▲ 심기보 KAIST 소프트웨어 대학원 겸직교수, PM/PMO 리서치 대표





대규모/수작업 개발 프로젝트 매니지먼트

정보시스템만이 아니라 모든 시스템은 커지면 커질수록 복잡하게 되어 전체의 통제·관리가 곤란해진다. 대규모 시스템 개발이 되면 관계하는 사람의 수도 늘어나기 때문에 개발은 장기간에 걸쳐 매우 어려운 결합 테스트를 해야 한다. 아무리 테스트를 많이 해도 실제로 그 시스템을 사용해 보면 불편한 점이 나온다.

문제가 발생하는 원인은 한결 같지는 않다. 시스템에 대한 이미지가 사용하는 사람과 발주자, 설계자, 코더, 테스트 하는 사람 등 각자의 입장에 따라 미묘하게 차이가 난다. 완성된 시스템이 생각한 모습과는 달라져 버리므로 발생하는 경우가 많다.

개발에 관계하는 사람의 수가 적어 암묵 중에 커뮤니케이션이 잘 되면 문제가 발생하기 어렵다. 그러나 현재와 같이 관계하는 사람이 많은 대규모 개발에서는 그렇게 할 수 없다.

모든 것을 명시적으로 나타내지 않으면 차이가 날 때 많은 문제가 발생한다. 모든 일을 명시적으로 문서화하는 작업은 효율의 저하를 가져와 시간이 걸린다. 결과적으로 납기에 늦어질 위험성이 있다. 그리고 사물을 결정할 때의 '암묵적인 이해의 범위'가 각자에 따라 크게 달라 모든 것을 명시화하기가 어렵다. 이 어려움은 동일한 기업 문화를 가진 회사 내에서 조차 프로젝트에 참가하는 인원수의 증가와 함께 표면화 된다. 하물며 문화가 다른 복수 기업이 참가하여 프로젝트를 운영하는 경우에는 더욱 그러하다.

컴퓨터의 세계에서도 업계나 전통 있는 개발 회사에는 고유한 문화가 있어 애플리케이션 개발에서 사용하는 용어도 다양하다. 그 차이에서 오는 오해를 회피하려고 하면 용어 하나하나를 비교하면서 다시 정의할 필요가 있다. 그것은 마치 외국어로 이야기하는 사람과의 공동 작업을 하는 것과 같다.

같은 말이라도 각사 마다 다른 의미로 사용하는 경우가 있으므로 방심할 수 없다. 대규모 개발이 되면 아무래도 1개 회사에서 다 개발할 수는 없게 되므로 복수의 기업이 모이게 된다. 이렇게 되면 개발은 확실히 곤란해진다.

대규모 시스템 개발에서의 프로젝트 매니지먼트 요점으로서 다음 4개로 나누어 볼 수 있다. <표 1>


▲ <표 1> 복수 기업에 의한 대규모 프로젝트를 극복하는 4개의 포인트





·독립성, 자율성을 확보한 서브시스템으로 분할한다
·개발프로세스를 상세히 정의한다
·개발프로세스를 착실히 지킨다
·설계의 일관성을 유지한다



1. 서브시스템 분할 기법과 그 한계

큰 시스템이 어렵다고 하면 자주 제기되는 반론이 두 가지 있다. 하나는 피라미드형의 조직을 도입하여 '관리의 계층이 증가해도 제대로 관리하면 확실하게 할 수 있다'라고 하는 지적이다. 또 하나는 '큰 것으로 만들려고 하기 때문에 어려우므로 아무리 큰 시스템이라도 작은 서브시스템으로 분할
해 버리면 간단하다'라고 하는 것이다. 어떠한 반론에도 이러한 사람은 대규모 개발의 현장을 경험하고 있을지 모른다.



<이하 상세 내용은 컴퓨터월드 4월 호 참조>

저작권자 © 아이티데일리 무단전재 및 재배포 금지