IT업계의 엔지니어로 일할 당시에 많이 해왔던 일중의 하나가 시스템 용량에 대한 분석이었다. 영문으로는 System Capacity Analysis(혹은 Planning)라고 할 수 있다. 대개는 벤치마킹을 통하여 사전에 확보된 표준 계량 데이타를 이용한다. 시스템의 용량(CPU, 메모리, Disk, Bus의 전송속도)을 주로 산정한다. 확보된 데이타가 없을 때에는 대강 추정하여 제안하는 경우도 있었다. 추정의 어려움은 평균치와 최고 Peak치가 상이하게 다를 때에 더욱 문제가 된다. 특히 I/O bound Job(입출력 중심적 일)과 CPU bound Job(계산중심적 일)의 어플리케이션 특성을 잘 판단해야 했다.
인력의 부족함이 상존하는 개발의 경우도 이와 같다. 1) 엔지니어의 숙련도에 땨른 개발역량을 지표화 하기도 어렵고 2) 누가 그러한 역량을 가지고 있는지 판단하기도 쉽지 않다. 그렇지만 복수의 프로젝트를 진행할 때, 한정된 개발역량을 배분할 경우에는 모델링 기법을 사용하여야 투입하는 인력과 납기의 문제를 설명할 수 있다. 비록 100% 논리적이지는 못하더라도, 모델을 가지고 접근할 경우는 비교기준이 생기고, 모델의 정교함을 계속 발전시켜 나갈 수 있기 때문에 가정(추정)에 기초를 둔 모델은 만들고 시작하는 것이 좋겠다.
아래의 그림은 복수의 프로젝트를 진행할 때 투입하여야 하는 스킬 분야와 그러한 스킬을 가진 엔지니어의 처리역량을 모델링하여, 신규 프로젝트의 완성에 있어서 1) 납기가 정해져 있을 경우에는 부족한 인력을 산정하거나 2) 한정된 자원으로만 일할 경우에의 추정 개발납기를 예측할 경우에 사용할 수 있겠다. 사각형의 블록이 주단위 표준 작업 역량(man-week)을 나타내 주는 그림으로 숙련엔지니어의 경우는 좀더 많은 토큰을 줄 수도 있을 것이다. 토큰을 그림으로 표현하여도 좋고, 엑셀 테이블의 수량으로 변경하여 계산할 수도 있을 것이다. 중요한 것은 설명가능한 모델을 만들고 있느냐는 것이다. 대개의 기술관리자들이 데이타에 의하여, 모델에 의하여 설명하지 못하고, 상상력과 추정으로만 대응하는 것을 많이 보았다. 과학적인 접근이 아닐 것이다. 첨부의 자료가 그러한 기술관리자에게 자원배분의 관리포인트를 시각화해 주는 아이디어가 되었으면 한다. 엔지니어의 이름 우측에 스킬레벨(1~5)를 표시하고 토큰의 수자를 배분하면 토큰의 적절성 참조에 도움이 되겠다.
유의사항은 프로젝트에 투입하여야 하는 스킬 모두를 보는 것은 어려울 수 있으니, 가장 부족한 스킬 혹은 프로젝트 성공에서 공유인력이 확보되지 않은 Critical Skill만으로 분석하는 것이 효율적일 수 있다는 것이다.