프로젝트 관리 #1 설계를 고정하여 변수를 줄여라
일상에서 매일 또는 정기적으로 반복되는 작업 ( Operation ) 과는 달리 , 다양하고 많은
변수를 가진 것이 프로젝트의 특징이기는 하다.
이러한 프로젝트의 주요 성공 목표라고 할 수 있는 일정은 어떻게 구할 수 있나요?
일정이라는 값을 구해내는 공식을 만들어 보면 다음과 같을 수 있지 않을까 합니다.
Y(일정) = F( 분석, 설계, 구현, 테스트 , 범위, 리소스, 품질 ... ) + e ( 공휴일, 휴가, ... )
이 식의 문제점은 뭐라고 생각하시는가 ?
Y(일정) 을 구하기 위해 필요한 식이 너무 적다는 것이겠지요.
방정식은 하나인데 변수가 너무 많다는 것인데 이렇게 되면 정확한 Y(일정) 을 구하는 것은
어렵다는 아니 안된다는 것입니다.
프로젝트 관리자는 Y(일정)에 영향을 미치는 변수를 줄여주는 것이 필요합니다.
여러가지 방법이 있겠지만 그중에서 오늘은 "#1 설계를 고정하여 변수를 줄여라" 것을 말해 보고자 합니다.
규모가 제법되는 SW 개발 프로젝트의 경우 (, 대체로 동시 3-4 명 이상의 개발자가 개발하는 )
프로젝트는 초기에 개발 시스템의 기본 설계를 정해두고 구현 단계로 진입하는 것이 필요합니다.
기본 설계를 정한다는 것이 개발자들의 반발을 불러 올 수도 있고 별도의 설계 교육이 필요한
다소 번거로운 일이 될 수도 있으나 프로젝트 관리적인 측면에서 본다면 몇가지 장점이 있다.
첫번째는 개발자들의 결원, 또는 교체라든지 등의 상황이 발생한 경우에 발생하는 비용을 사전
예상하여 관리를 할 수 있다는 점이다.
예를들어 개발자의 교체가 발생하는 경우 교체 멤버가 제대로 개발을 하기 위해서는 비지니스
로직에 대한 이해외에도 SW 설계에 대한 이해가 필요한데. 전체 시스템의 기본 설계를 동일하게
가져간다면 어느 개발자가 교체 되더라도 , 기본 설계가 같기 때문에 , 이를 이해하는 시간이 대체로
일정하게 된다는 것이다.
이는 다시 말해서 개발자 전환 비용이 줄어드는 것은 아니지만 전환에 따른 비용을 사전에 예상할
수 있어 관리에 활용 할 수 있다는 것이다.
두번째는 프로젝트를 진행하다보면 업무의 진행속도에 차이가 나게 마련이다. 이런 경우 해당 단계의
개발이 완료된 개발자를 미완료 업무에 전환 배치하는 경우 전환 비용이 거의 없어 전체적인
효율을 높일 수 있는 기회를 가진다는 것이다.
이러한 이유로
SW 개발 프로젝트 관리자는 SW 설계에 대한 의견을 내고 , 토론을 하고 , 평가를 할 수 있어야 한다.
마무리하면 ,
"#1 설계를 고정하여 변수를 줄여라" 에서는 개발자 교체에 따른 비용을 고정하고 전화에 따른 비용을
줄이기 위해서는 개발 초기에 시스템 전체에 필요한 설계를 확정하는 것이 필요하다는 것입니다.
댓글 없음:
댓글 쓰기