다잇소


[비지니스] 나의 PM이야기 #9 분석/설계단계 할일(1/2)

2016.04.26

나의PM이야기 Main img_770x523


분석/설계단계는 사용자로 부터 도출한 요구사항을 구체화하여 목표 시스템으로 구현하기 위한 단계이다.


분석/설계 단계에 개발자는 데이터와 프로세스 측면을 분석하여 시스템에 맞게 설계를 하고,


PM은 개발자의 분석/설계를 확인하고, 다음 단계를 준비 해야 한다.


먼저 데이터 측면의 분석은


구현 할 업무시스템에서 필요한 데이터를 분석하고  관련 엔티티와 속성을 정의하여 논리ERD(Entity Relationship diagram),  엔티티목록과 속성정의를 하고, 설계는 논리데이터모델을 목표시스템의 물리적 특성에 맞게 모델링하고,  테이블정의, 컬럼정의, 인덱스정의, 인스턴스정의 등 결과 산출물 작성하여 완료한다.


준비


프로세스 측면에서는


요구사항과  컨텍스트 다이어그램에서 프로세스를 분해하여 최하위 프로세스를 도출한 후


최하위 프로세스를 트리거하는 거래를 찾고 사용자인터페이스,  시스템간인터페이스를 정리하여 분석결과 산출물을 작성한다. 



※ 산출물 : 거래목록, 거래처리(기능)기술서, 사용자인터페이스(화면) 분석서, 시스템간 인터페이스 분석서 등

 

설계단계에서는 화면/ 보고서/메뉴를 상세히 설계하고,  구현시스템의 프레임웍이나 특성에 맞춰 어플리케이션을 설계와 일괄처리를 위한 배치설계하고 산출물을 작성한다.



※ 산출물  :  화면설계서, 보고서설계서, 메뉴구조도, 프로그램설계서, 배치작업설계, 작업절차서,  배치프로그램 설계성 등

그리고, 설계단계에서 중요한 타스크는 데이터 이행을 위한 데이터 맵핑과 이행작업에 대한 설계이다.


분석/설계단계 모든 작업의 결과는 산출물로 만들어지고,  구현 단계에서 이용 할 수 있어야 한다.


홈페이지나 모바일등 웹 관련 개발의 경우 사용자인터페이스의 결과 산출물에서 약간의 차이가 있다.


기획자가 분석/설계한 스토리보드와 디자인 시안등이 있다.


프로젝트의 성격에 따라 개발 절차 또는 산출물 형태나 종류는 다를 수 있지만, PM이 해야 하는 일은 크게 다르지 않다.


분석/설계단계에  PM이 할 일은  분석/설계 결과에 요구사항이 빠짐없이 반영했는지, 프로그램을 개발 할 수 있도록 준비하는 일이다.


퀄리티_01




첫째, 분석/설계를 잘 했는지 점검


프로젝트는 분석과 설계를 구분해서 진행하며,  각 단계마다 결과 산출물을 점검하고,  단계말에는 동료 검토를 통해 분석/설계 결과로 만들어진 산출물의 품질을 점검해야한다.


이러한 내용은 개발방법론이나 품질관리 방법론에서 있지만,  실제 프로젝트 수행 할 때는 매주 주간보고를 하고, 진척관리를 하기 때문에 매주 분석/설계 결과를 점검해야 한다.


요구사항이 거래나 화면, 데이터에 반영 하였는지 확인하고,   PM은 도출된 요구사항이 거래로 맵핑이 되었는지 확인하고, 각 거래별로 예외사항이나, 처리 방법등이 정상적으로 기술하였는지 확인하는 것이다.


그리고, 분석/설계자별로 주요기능에 대해 점검하는 방법으로 품질을 높히는 방법을 사용할 수 있지만, 추천하는 방법은 관련 업무를 가장 잘 알고 있는 현업과 IT담당자가 결과를 검토 하게 하는 방법이다.


이유는 PM이 샘플링해서 내용을 확인하고, 요구사항이 반영되었는지 점검은 가능 하지만, 상세 내용까지 확인하기 어렵기 때문이다.


대부분 개발자는 본인의 머리 속에 담아 놓고, 정리하지 않는 경우가 많기 때문에 반드시 정리 하도록 요구해야 한다.


그리고, 프로그램을 개발 하기 전에는 잘 표시가 나지 않는 시스템간인터페이스, 데이터이행, 배치작업등은 분석/설계단계부터 점검하여 문제점을 도출하고, 대응 방안을 수립하여 진행해야 한다.


노트북




둘째, 구현을 위한 준비 


프로그램 개발을 위한 개발 환경 준비이다.


개발환경은 서버와 개발자 환경을 구분하여 준비하고 점검한다.


개발 환경을 점검하기 위한 좋은 방법은 프로그램을 개발하기 전에 파일럿으로 샘플 거래를 개발하여 전체 프로세스를 점검하는 것이 좋다.


이유는 물리적인 시스템(H/W, S/W)은 정상이지만, 네트워크 설정이나 사용자계정, 보안 등 여러가지 환경에서 문제가 발생 할 수 있기 때문이다.


그리고,  DBMS 관련 계정이나 연결등 설정이 정상인지, 사전에 테이블 생성하여 프로그램을 개발할때 개발용 데이터 적재가 가능한 상태인지 확인한다.


개발팀도 프로그램 개발을 위해 필요한 데이터는 미리 준비하도록 한다.


프로그램 개발 초기 시간낭비를 최소화 하기 위해서 개발시스템은 구현단계 3~4주전에 준비 완료하고,  2-3주 전에 점검까지 완료하도록 일정계획을 세운다.



세째, 구현 진척 관리방안 준비


구현단계가 시작 전에 프로그램 개발 진척관리 방안을 미리 수립하여 개발자들에게 전달하여 개발자별 담당프로그램에 대한 개발계획을 세우도록 하고, 계획이 정당한지 검증하여 프로그램 개발과 동시에 진척관리를 시작할 수 있도록 한다.


개발자가 프로그램 개발완료 등록한 개발 진척 결과의 검증 방안을 갖고 있어야 한다.


검증방법으로는 거래 로그를 이용하여 개발완료 프로그램의 실제 거래건수(=테스트 건수), 정상/비정상종료 건수 등을 확인하는 방법과 매주 개발자가 개발완료 등록한 프로그램에 대해 개발자와 함께 테스트를 수행하여 개발완료 여부 직접 확인하는 방법 등이 있다.


이러한 검증이 필요한 이유는 개발 품질을 높이기 위함이고,  또 다른 이유는 개발자가 거짓으로 개발완료 등록하는 경우를 대비하기 위해서이다.


그 중 거래로그를 이용한  검증방법은 개발자의 거짓 개발완료 등록을 방지하기 위한 목적보다는  테스트가 누락하는 경우를 대비하기 위해서 필요한 검증방법이다.


망원경





네째, 테스트 계획 수립


설계 시점에는 프로젝트 전체 테스트 계획을 수립하고, 테스트 실행하기 전에는 상세한 테스트계획을 수립하여 실행한다.


테스트에 대한 Master Plan은 어플리케이션 테스트 시스템  테스트로 구분하여 수립한다.


어플리케이션 테스트 계획


단위테스트, 통합기능테스트,  통합테스트, 사용자테스트, 인수테스트 등 종류와 테스트 범위, 일정, 수행 횟수등에 대한 계획을 수립한다.


테스트 계획 수립시에는 데이터 이행 계획을 포함해야 한다.


그리고, 시스템테스트는 다음 편에서 계속……


이전글 바로가기


 나의 PM 이야기를 시작하며….


 #1 프로젝트 착수 -인력투입


 #2 프로젝트 착수 -프로젝트준비


 #3 프로젝트 착수 -프로젝트 계획수립


 #4 프로젝트 착수 -착수보고


 #5 PM의 역할


 #6 요구사항정의, 범위 확인


 #7 프로젝트에서 만난 사람들


 #8 회사내 프로젝트 단계별 보고


 
유경근의 프로필 사진
| 경영진
관심분야

카테고리 레이어 닫기