DATOR


프로젝트의 딜레마3 - 분석은 어느 수준까지? PROJECT vs DA


규모가 큰 프로젝트일수록 분석단계가 부실하게 진행되는 것을 보게 된다.

 

분명히 분석의 앞 단계에서 프로젝트 계획을 세우고, 조직을 만들고, 담당자를 정하긴 했는데, 막상 분석 단계가 시작되고 보면, 아직 담당자가 합류하지 않고 있고, PMS도 준비 중이고, 프로젝트 멤버들의 R&R은 확정되지 않아 실제 이루어져야 하는 분석 작업은 단지 고객의 요구사항을 정리하는 수준에서 중요한 시간이 다 흘러버리곤 한다.

 

가끔 분석 단계가 부실하게 진행되는 것에 대한 문제제기를 해보면 어차피 나중에 고객의 요구가 변경될 것이므로, 또 나중에 엄청나게 고생해야 할 것이므로 지금은 그냥 넘어가자는 분위기가 만연해 있음을 느끼게 된다.

 

나중에 고객의 요구가 변경될 것이 뻔하므로 분석단계의 산출물을 미리 만들어 봐야 나중에 수정해야 한다는 말에 많은 분석/설계자들은 어느 정도 공감할 것이다. 나조차도 분석 단계의 작업이 고객의 요구사항을 수집하고 전개하는 일만 있다면 충분히 공감할 수 있다. 그런데, 분석 단계의 작업은 사실 이렇게 고객의 요구사항에 대한 피동적인 정리만 있는 것이 아니라는 사실이 중요하다.

 

분석 이후의 단계에서 고객의 요구사항이 변경되는 것과는 상관없이 분석 단계에서 결정해야 하는 일이 많기 때문에 분석을 치밀하게 해야 하는 것이다. 그럼 어느 정도까지 고민하고 결정해야 하는지를 공감하기 위해 예를 들어 보자.

 

'사원' 엔터티나 관련 프로세스에 대해 다음과 같은 사항을 결정해야 한다.

 

1. 퇴직한 사원은 사원 엔터티에 남겨둘 것인지?

2. '협력사직원'을 사원 엔터티에 포함시킬 것인지?

3. 동일한 사람에 대해 2개의 인스턴스(레코드)를 생성할 수 있는지?

 

위와 같은 결정을 분석단계에서 꼭 해야 하는지에 대해 의문을 가질 수도 있겠지만 다음과 같은 점을 생각해 보자.

1. 퇴직한 사원의 삭제 여부를 결정하지 않았다면

  =>  사원이 행하는 결재, 거래내역, 계약내역 등을 조회하는 화면에서 해당 사원의 이름과 소속부서명을 어느 엔터티에서 가져오는지를 결정할 수 없게 된다.  이 상황에서 제대로된 명세서를 작성할 수 있을까?

 

2. '협력사직원'을 사원 엔터티에 포함시킬지를 결정하지 않았다면

 => 결재나 거래내역의 주체 꼭 내부직원이라고 보장할 수 있는가? 보장하지 못한다면 결재나 거래내역 조회화면에서 사원명을 가져오지 않아도 되는가? 사원명을 꼭 가져와야 한다면 어느 엔터티에서 가져올 것인가?  이런 문제가 아니더라도 나중에 사원엔터티에 협력사직원을 포함시키기로 결정한다면 사원번호는 어떻게 채번할지도 결정해야 한다.

 

3. 동일한 사람에 대해 2개의 레코드를 생성할 수 있는지를 결정하지 않았다면,

  => 아직 사원 엔터티의 식별자도 확정하지 못한 상태로, 다른 엔터티와의 관계도 확정하기 어렵다(사원 엔터티와 급여내역 엔터티는 1:M인가 M:M인가). 이런 상태에서 명세서의 작성이 가능할까?

 

사원의 예 중 몇 가지만 들었지만 아마도 위 정도까지도 분석단계에서 결정하지 못한 경우가 훨씬 많을 것이다. 그런 상황에서 만들어진 분석 산출물의 부실함은 결국 설계, 개발, 테스트 단계에서 문제점이 나타나고 더 많은 시간과 자원을 들여 보완될 것이다. 어쩌면 테스트 단계도 그냥 지나가, 오픈 이후에 문제가 발견되어 매우 심각한 문제를 일으킬 수 있을 것이다.

 

TAG

Leave Comments