[QnA] 설계의 최적점 찾기

 

설계의 최적점 찾기


프로젝트를 검토하다 보면 상충 관계(trade-off) 상황을 반드시 접하게 된다.

이때 어떤 기준으로 선택하고 조율하는 것이 좋은가? 라는 의문에 빠지게 되는데 이때 활용할 수 있는 방법에 대해서 정리해보고자 한다.


프로젝트의 스케쥴을 결정하는 큰 요소는 구조 설계, 개발 시간, 디버깅 이다.

구조 설계 + 개발 + 디버깅  = 전체 프로젝트 기간


결론부터 얘기하면 정답이 정해져있는 것은 아니다. 프로젝트의 규모, 요구사항 변경 빈도, 시스템의 복잡도의 따라 프로젝트 기간이 결정되는데 최적점을 그래프로 나타내면 다음과 같다.



그래프에 기반해서 구조 설계 시간을 20% 이하로 줄이면 오히려 프로젝트 시간이 늘어 난다. 구조 설계 시간을 20%이상으로 늘리면 디버깅이 줄어들지만 프로젝트 시간이 늘어난다.

따라서 설계자의 경험에 기반하여 일반적으로는 전체 프로젝트 기간의 20%로 설정하는 것이 최대 효율을 보인다. 

하지만 경험상 프로젝트의 상황과 중요도에 따라서 디버깅을 최소화하기 위해 구조설계시간을 더 길게 가져가거나 요구사항이 계속 변할 가능성이 있다면 구조설계를 유연하게 설계하도록 시간을 최소화하고 추후 디버깅에 더 많은 시간을 쏟는 것이 더 중요하다고 생각된다.


정리하면

1. 프로젝트에서 구조 설계에 20% 정도 시간 할당하는 것이 좋음

2. 시스템의 규모가 클수록 초기 설계에 투자하는 것이 이득이 커짐

3. 구조 설계에 투자하지 않으면 정상적인 제품이 나올 수 없음

4. 구조 설계에 투자할수록 디버깅 시간이 줄어듬(전체프로젝트 기간은 늘어남)


끝 :)

댓글 쓰기

0 댓글