프로젝트 - 정해진 기간 안에서 정교한 작업을 통해 결과와 서비스를 만들어 내는 일련의 과정
* 프로젝트 정의(TPO)
1. Temporary(일시적인)
 - 일정 상 시작과 끝이 반드시 존재한다는 의미
2. Progressivley elaborated(점진적 정교화)
 - 지속적으로 수정, 향상, 갱신, 추가되는 요소를 점진적으로 정교화하는 작업에 대한 의미
 ex) Rolling wave planning(high-level), prototype(working model, mock-up)
3. Output(산출물)
 - 서비스를 운영(Operation)하는 소프트웨어 제품(Product)을 의미

 

Tech PM - 비지니스 가치가 있는 소프트웨어를 발의하고 기획/설계/일정관리/오픈/운영까지 A-Z를 관리

소프트웨어를 통해 서비스를 제공하는 프로젝트를 발의하고 시스템을 기획/설계하는 Tech PM은 아래와 같은 일을 해야 합니다.

1. 개발자가 이해할 수 있는 수준의 요구사항 정의
2. 비지니스 상황에 맞춘 구축 우선순위 선정 판단
3. 간결하지만 명료한 문서작성 기술

비지니스 측면 가치에 대한 기획을 통해 구축된 시스템이 Product(제품)로서 안정적인 서비스를 제공하고, 고정적인 수익을 창출할 수 있는 도구가 될 수 있도록 설계해야 합니다.

 

Tech PM은 소프트웨어 기반의 회사에서 개발자와 현업이 서로 원하는 바를 얻게끔 만들어주는 역할을
책임을 가지고 헌신적으로 실천할 수 있어야 합니다.

 

PM은 이 모든 고민을 문서로 남겨 관리할 수 있어야 합니다.

* Why?

 - 상시 보고할 수 있는 준비

 - 혼재된 요구사항과 모호한 협의안, 방향을 정하는 의사결정 점검

* 문서 히스토리
* 메뉴구조도
* 요구사항 정의서 2부 (현업, 개발사)
* 플로우차트(task, user, I.A)
* 와이어프레임
* 화면정의서
* 기능명세서
* ERD(다이어그램)
개발사 입장에서 작성하는 요구사항 정의서는 마찬가지로 현업과의 약속이자 프로젝트 발의 당시 검토했던
기능 구현방안과 일정, 리스크 등을 서술해놓은 문서입니다.

 

개발사의 관점에서 제작한 요구사항 정의서는 현업에게 전달받은 요구사항을 기능 구현 관점에서 세부적으로 분해한 내용이 있어야 합니다.

현업이 비교적 비지니스 이익에 직접적인 영향을 미치는 요인을 고민한다면, 개발사는 구현 가능여부, 일정, 리스크(side-effect), 확장성 등을 고민해야 합니다.

 

개발사는 현업이 요청한 요구사항을 원하는 일정에 맞춰 리스크가 적고 확장성을 가질 수 있도록 구현할 수 있도록 고민해야 합니다.

사내 개발인력 관리 및 필요 시 외부인력 투입 검토, 시스템이 올라가는 인프라에 대한 검토 및 자체 일정관리에 비용을 투자해야 합니다.

 

개발사는 현업에 막연히 최대치 이상의 인력과 일정에 대한 버퍼가 고려된 공수를 요구한다면 파트너간 신뢰를 잃을 수 있습니다.

하지만, 필요한 자원에 대한 요구는 견적에 반드시 기입되어야 하기 때문에, 납득이 가능한 수준의 요구를 합리적이고 누구나 납득이 가능하도록 현업에게 설명할 수 있도록 많은 준비가 필요합니다.

 

현업이 개발사로부터 산출되기 원하는 요구사항 정의서는 아래 내용을 담고 있어야 합니다.

  1. 현업이 전달한 요구사항을 세부적인 기능 단위로 나열 -> 가능여부 | 일정 | 리스크 | 사유 | 비고
  2. 실제 로직을 구현하는 입장에서 검토할 수 있는 기능의 확장성에 대해 현업에서 참고할만한 의견
  3. 신기술 및 인프라 고도화에 대한 기술 의견
* 요구사항 정의서 페이지 구성요소
----------------------------현업문서 참고----------------------------
1) IDX
2) 환경
 - 어플리케이션 아키텍처 종류 (WEB or APP)
3) 구분
 - 기능이 작동하는 모듈 별 묶음 단위
 ex) 상품, 재고, 회원 등
4) 구분 IDX
5) 요구사항 명
 - 기능 구현이 필요한 요구사항에 대한 명칭
----------------------------개발사 의견 작성----------------------------
6) 요구사항 상세
 - 기능 구현이 필요한 요구사항에 대한 위치(화면주소)와 동작원리에 대한 상세한 내용
7) 기능 별 구현 가능여부
 - 불가능 시 대안책 제시
8) 기능 별 구현 일정
9) 비고
 - 기능에 대한 의견을 기록
현업 입장에서 요구사항 정의서는 개발사와의 약속이자 프로젝트 발의 당시 원했던 시스템을 통한 비지니스 성장 방향을 서술해놓은 중요한 문서입니다.

 

현업의 관점에서 제작한 요구사항 정의서는 비교적 비지니스 이익에 직접적인 영향을 미치는 요인에 대해 요구사항 별로 작성합니다.

 

현업은 사내의 인적/물적 자원을 통해 더 높은 수익을 창출해낼 수 있는 시스템을 구축하기 위해 비용을 투자합니다.

신규 수익을 창출해내거나, 기존에 나갔던 비용을 절감하여 이익율을 높일 수 있는 시스템이 필요합니다.

 

막대한 비용을 투자한 시스템은 단순히 담당자가 일을 편하게 할 수 있도록 도와주거나, 복잡한 단순 계산 업무를 대신해주기 위해 존재하지 않습니다.

 

현업이 원하는 시스템은 아래와 같습니다.

  1. 반복적인 업무를 관리형 시스템으로 대체함으로서 생길 수 있는 공수의 확연한 절감
  2. 직무 별로 흩어져 있는 데이터를 유기적으로 순환시켜주는 연동형 시스템
  3. AI/ML 등 복잡한 계산식의 정답을 고도화된 알고리즘을 통해 산출해내는 생산형 시스템
* 요구사항 정의서 페이지 구성요소
1) IDX
2) 환경
 - 어플리케이션 아키텍처 종류 (WEB or APP)
3) 구분
 - 기능이 작동하는 모듈 별 묶음 단위
 ex) 상품, 재고, 회원 등
4) 구분 IDX
5) 요구사항 명
 - 기능 구현이 필요한 요구사항에 대한 명칭
6) 요구사항 상세
 - 기능 구현이 필요한 요구사항에 대한 위치(화면주소)와 동작원리에 대한 상세한 내용
7) 요청자(요청부서)
8) 정량, 정성적 수익
 - 해당 요구사항이 비지니스에 미치는 수익(매출성장) 관점 영향도 분석 내용
9) 비고
 - 히스토리, 예외 사유 등을 기록

* 출처: https://brunch.co.kr/@toqha7822/15

메뉴 구조도는 시스템에 구축되어 있는 (1)메뉴와 화면이 서로 연결되어 있는 구조(2)화면의 종류
한 눈에 볼 수 있도록 시각화해놓은 표를 의미합니다.

Depth1 -> 메뉴 종류
Depth2 -> 메뉴 內 화면 종류
Depth3 -> 화면 內 섹션 별 구성요소의 역할

 

출처 : https://kun-hee.tistory.com/52

 

문서 히스토리를 남기는 것은 프로젝트가 착수되는 시점부터 문서가 사용되는 최신 시점까지 상황에 따라 의도와 방향이 달라진 점과 날짜, 작성자를 기록하는 작업입니다.

 

 

주로 문서 앞 일부를 차지하는 문서 히스토리 페이지는 업무에 대한 디테일한 내용이 아니라 중요하지 않게 여겨집니다.

하지만, 프로젝트를 통해 시스템을 만들고 운영하는 관리자는 시스템을 구축/운영할 때 산출되는 문서가 본인의 자산이며 실력을 반증하는 도구가 됩니다.

 

  • 과거 현업 또는 개발사에게 들었던 내용과 본인이 말했던 내용 중 아무리 중요한 내용이라 할지라도,
    사람이라면 시간이 지남에 따라 기억이 왜곡되거나 없어질 수 있습니다.
  • 불과 1주일 전 자신의 입장과 의도가 지금과 동일하다는 보장은 아무도 할 수 없습니다.

 

히스토리가 빠짐없이 작성된 문서는 시행착오를 줄여주며 당시의 상황과 의도를 파악하는데 중요한 역할을 하게 됩니다.

대체로 큰 규모의 프로젝트일수록 문서 히스토리 기록의 중요도가 높아집니다.

 

히스토리가 기록되지 않은 문서는 현 시점에 참고해도 이슈가 없을지, 어떤 이유로 현재 상황에 도달하게 되었는지 확인할 길이 없으며, 과거의 상황을 모르고 의도를 오해하는 일을 만들게 됩니다.

 

 

* 문서 히스토리 페이지 구성요소
1) 버전
 - 정수 : 실제 운영이 가능한 버전 (현업 제공o)
 - 소수점 : 실제 운영과 유사한 환경에서 테스트를 위해 배포한 버전 (현업 제공x)
2) 개정일자
3) 변경내용
 - 문서가 변경된 이유에 대한 요약 설명
 - 현업과 개발사 간 의사결정이 완료되어 문서화된 내용이 반영되었다면 기록
4) 작성자 (부서+이름+직무)
5) 승인자

 

개발자가 말하는 "안됩니다"는 단순히 "하기 싫습니다"라는 뜻이 아닙니다.

 

개발자는 물론 도구가 아닙니다.

제품을 생산하는 기계마저도 정확한 명령과 정해진 납기에 맞춰 제품을 생산하게 되어있습니다.

 

현업은 개발자에게 업무를 요청할 때, 다른 현업부서와 동등하게 부담을 가지고 요청해야 합니다.

개발자도 현업에게 받은 업무를 성실히 수행해야 하며, 현업의 입장과 언어에 맞춰 답변을 해야 합니다.

 

개발자가 설령 도구가 되어 일을 한다고 하더라도, 아래 상황에 따라 "안됩니다"를 시전할 수 있습니다.

1. 요구사항이 명확하지 않은 경우
 - 소프트웨어로 설명하기 어렵거나 정의되지 않아 모호한 현업의 요구사항
2. 요구사항이 명확하더라도 원하는 일정을 맞출 수 없을 경우
 - 한정된 자원 내에서 운영되는 공수를 고려하지 않은 상황
 - 개인에게 분담되는 업무의 양이 과다할 경우
3. 시스템이 구현되는 환경(인프라)의 제약이 존재할 경우
 - 보안 및 정책의 제약으로 인해 조직의 의사결정이 수반되어야 할 경우
4. 실제로 기술 구현이 불가능한 경우
 - 하드웨어의 제약, 능력의 한계(AI, ML 등)

물론, 개발자도 사람인지라 매너리즘에 빠져 정말로 하기 싫어서 안된다는 말로 방어하는 경우도 종종 있습니다.

하지만 모두가 그런 시선으로 개발자를 바라본다면, 현업과 개발자의 갈등을 좁혀나갈 수 없어 결국 서로 원하는 바를 얻지 못하게 됩니다.

 

Tech PM - 비지니스 가치가 있는 소프트웨어를 발의하고 기획/설계/일정관리/오픈/운영까지 A-Z를 관리

 

소프트웨어 구축하는 프로젝트를 발의하고 시스템을 기획/설계하는 Tech PM은 아래와 같은 일을 해야 합니다.

1. 개발자가 이해할 수 있는 수준의 요구사항 정의
2. 비지니스 상황에 맞춘 구축 우선순위 선정 판단
3. 간결하지만 명료한 문서작성 기술

기획된 시스템의 비지니스 측면 가치에 대한 고민과 구축된 시스템이 Product(제품)로서 안정적으로 고정적인 수익을 창출할 수 있도록 설계해야 합니다.

 

Tech PM은 소프트웨어 기반의 회사에서 개발자와 현업이 서로 원하는 바를 얻게끔 만들어주는 역할을
책임을 가지고 헌신적으로 실천할 수 있어야 합니다.

 

프로젝트 매니저는 이 모든 고민을 문서로 남길 수 있어야 하며, 상시 보고할 수 있는 준비가 되어 있어야 합니다.

1. 문서 히스토리
2. 메뉴구조도
3. 요구사항 정의서 2부 (현업, 개발사)
4. 테스크플로우
5. I.A(정보구조도)
6. 와이어프레임
7. 화면정의서
8. 기능명세서
9. 플로우차트
10. ERD,  다이어그램 등

'IT > Tech PM' 카테고리의 다른 글

[Tech PM] 프로젝트란? Tech PM이란?  (0) 2023.08.30
[Tech PM] 요구사항 정의서(개발사)  (0) 2023.07.30
[Tech PM] 요구사항 정의서(현업)  (0) 2023.07.30
[Tech PM] 메뉴구조도  (0) 2023.07.30
[Tech PM] 문서 히스토리  (0) 2023.07.30

+ Recent posts