본문 바로가기

데이터 Story/데이터 상념(想念)

모델러의 역할… 4-4-2 포메이션과 투톱

아시안컵이 아쉽게 끝났습니다. 인도전에서 한 골만 더 넣었어도, 기라드가 1번 키커였다면 하는 아쉬움이 있네요. 오늘은 축구와 약간 연관된 글을 쓰려고 합니다.

 

모델러로서 많이 보아온 시스템 구축 프로젝트에 대한 얘기인데요. 특히 차세대와 같은 대형 프로젝트에서의 모델러 역할이 포함된 개인적인 의견입니다.

 

축구에서 사용하는 전술은 여러 가지가 있는데 그 중에 대표적인 것이 4-4-2 포메이션입니다(지금은 좀 구식이 됐지만요). 4-4-2 포메이션에서 2에 해당하는 것이 투톱입니다. 다들 아시겠지만 공격수입니다. 빅선수와 스몰선수의 조합이 최상이라고 하는데요.

 

최근 차세대 프로젝트에서의 모델러의 역할은 미미하다는 것이 제 생각입니다. 물론 이전보다는 모델러에게 나름 역할을 부여하고 있습니다. 5년 전만 해도 전문 모델러가 투입되는 프로젝트는 드물었던 거 같아요.

 

하지만 최근에 데이터에 대한 관심이 매우 높아졌습니다. 이제는 주먹구구식으로 데이터 모델링을 할 수 없을 정도로 분위기가 형성돼 제대로 데이터 모델을 구축하려고 시도합니다. 여전히 생생내기 용으로 진행되는 경향이 있지만요…

 

어쨌든 최근 차세대는 전문 모델러가 투입되어 분석설계 단계에서 모델링을 직접 수행하거나 가이드를 합니다. 그리고 개발이 본격적으로 시작될 즈음에 철수하게 됩니다.

 

그런데 전문 모델러가 관여하는 것은 바람직한 현상인데 중간까지만 관여한다는 것이 문제입니다. 개발하면서 바뀌는 부분이 많을수록 문제는 커지게 됩니다. 모델러의 원칙(사상)이 단절되니 모델이 흔들리게 되기도 하고, 허둥대기도 하고... 모델을 가장 잘 아는 모델러가 없다는 것은 어쨌든 문제입니다.

 

차세대 프로젝트를 경험하면서 모델러로써 느낀 이런 문제를 해결한 것이 4-4-2 포메이션입니다. 핵심은 모델러가 프로젝트 끝까지 남아서(비용 문제 발생) 개발을 효율적으로 하자는(비용 절감) 것입니다.


 

[그림1]

 

위의 그림과 같이 a 분석설계자와 a 모델러가 투톱입니다. 투톱이 프로세스와 데이터를 담당합니다. a 분석설계자는 해당 업무 전체에 대한 분석설계와 일정 관리, 데이터 모델을 리뷰합니다. a 분석설계자는 업무 전문가에 가깝고 a 모델러는 데이터 전문가입니다.

 

투톱은 업무와 데이터 모델링을 항상 상호 검증하면서 데이터 모델이 모든 업무를 반영하고 있는지를 리뷰합니다. 축구의 투톱이 빅선수와 스몰선수의 조합이 최상이듯이 성격이 다른 분석설계자와 모델러의 조합은 시너지 효과가 있습니다. 현재 대부분의 프로젝트에서는 단절이 많이 돼 있습니다. 그 원인 중에 하나는 모델러의 이른 철수입니다. 이른 철수(비용 절감 목적)와 늦은 오픈(비용 추가)은 유관합니다.

 

미드필더 자리의 b 분석설계자는 서브 업무를 상세 분석설계합니다. 주된 산출물은 화면정의서가 될 것입니다. 포백 위치의 c 개발자는 상세 업무를 개발합니다. c 개발자는 화면이 도출되고 모델이 완료된 즈음에 투입되기 때문에 비용 절감 효과가 있습니다. 때에 따라서 b 분석설계자도 늦게 투입될 수 있습니다.

 

비용 절감 효과는 아시겠지만 일부 인력을 늦게 투입시켜서 얻는 것 보다는 개발 후 변경 타스크(?)를 없애면서 얻게 됩니다. 투톱인 분석설계자와 모델러가 업무와 모델을 꿰차고 상호 검증한다면, 개발해보고 변경해보는 반복되는 일, 소위 닭짓이 현저히 줄어들어 비용이 절감됩니다.

 

서브 업무에서 중요한 어플리케이션은 b 분석설계자가 개발합니다. b 분석설계자는 화면정의서를 작성하고 설계한 기능 중에 주요 기능을 개발하고 개발된 어플리케이션을 단위 테스트합니다. 해당 업무를 통합 테스트하는 것은 투톱이 하게 됩니다.

 

a 모델러는 프로젝트 전체 기간 중에 다음과 같은 일을 주로 하게 됩니다.

 

- 데이터 모델(논리/물리) 구축

- 매핑정의서(테이블/코드/컬럼). 컬럼매핑정의서는 asis기준과 tobe기준 둘 다 작성

- 튜닝 요소 점검 및 검토

 

현재 차세대 프로젝트에서도 위와 유사한 R&R이 있지만 모델러의 R&R과는 차이가 납니다. 프로젝트 단계대로 분석/설계 기간에만 역할을 하고 빠지는 것이 아니라 개발/테스트 기간에도 역할을 해야 합니다.

 

투톱은 혼합되기 어려워 보이지만 융합한다면 시너지 효과가 클 것입니다. 투톱은 기본적으로 소속이 다른 것이 좋습니다. 서로 견제하면서 협업해야 하기 때문이고요. 여러 업무별로 존재하는 모델러는 소속이 같은 것이 좋습니다. 표준화나 모델링 전략 등을 통일시키려면 같은 팀이어야 할 것입니다.

 

업무 규모에 따라 4-4-2 3-3-2 같이 축소될 수도 있고, 8-4-2, 6-3-2와 같이 삼각형 구조가 될 수도 있습니다. 어떤 경우에도 투톱은 필요하며 역할은 비슷합니다.

 

4-4-2 포메이션과 같은 전술의 특징은 분업입니다. 능력이 뛰어난 선수는 여기 저기 포함될 수 있지만 기본적으로 선수의 장점은 고유한 자리에서 극대화되기 마련입니다. 시스템 구축 프로젝트 인력 구성도 전문성이 중요합니다. 데이터 전문가, 업무 분석 전문가, 개발 전문가 등이 자신의 역량을 최대한 발휘할 수 있도록 해야 합니다.

 

비용을 절감한다는 명목 하에 모델러의 프로젝트 투입·잔류를 망설이고 있지만 결국은 비용이 증가하게 된다는 것은 사실입니다. 4-4-2 포메이션을 시도해 보면 왜 비용이 절감되는지 알 수 있다고 생각합니다.


아직은 SI 인식이 코딩베이스(Coding-Base)라 헤게모니가 AP 개발쪽에 있지만, 머지 않아 데이터와 동등해질 것이고 데이터의 가치를 아는 사람들이 제 역할을 할 때가 올 것입니다.