Product Plan vs Release Plan 글을 보고

원문

https://www.aha.io/blog/the-product-plan-vs-the-release-plan

Product Plan vs Release Plan?

제목을 번역해보면 “제품 계획 vs 출시 계획”으로 볼 수 있겠네요
처음에 이 글을 봤을 때, 두 계획이 다른 것은 이미 알고 있는데 어떻게 다른가에 대해 깊게 고민한적은 없었던 것 같습니다.

위 글에서 두 계획에 대해 정의한 것이 인상깊어 공부 겸 글 내용을 정리해보았습니다.

제품 계획은 제품의 전략적 방향을 정의하는 반면 출시 계획은 비전을 달성하는 데 필요한 작업을 정의합니다.”

두 계획 모두 중요하지만 다른 것을 정의하고 있습니다.
제품 계획은 왜(Why) 이것을 만들고 있는지, 우리는 무엇(What) 을 성취하려고 하는지 답을 줍니다.
출시 계획은 정확히 무엇(What) 을 빌드해야하는지, 언제(When) 만들 것인지, 제품 경험을 어떻게(How) 제공할 것인지를 정의합니다.

6하 원칙으로 정리하는게 깔끔하긴 하네요.
제품 계획에는 왜 라는 프로덕트 목표 설정이 중요한 것 같고
출시 계획에는 언제 어떻게 무엇을 전달 또는 배포할 수 있을지 정의하는 것이 중요하겠네요.
Who, Where은 때에 따라 제품 계획에 들어갈 수 있을 것 같습니다. 😁

목표(Goal) 관점

제품 계획 목표: 제품의 방향성을 전달하는 것. 전략 및 비즈니스 목표를 기반으로 제품이 비즈니스 가치를 제공하는 방법을 보여줍니다.

출시 계획 목표: 제품 팀이 수행할 작업에 대해 책임을 지도록 하는 것. 작업의 세부 사항을 분명히 하고 완료해야하는 작업 단계를 강조합니다.

목표 관점에서 각 계획이 가지는 목표는 성격이 다른 것은 누구나 알 수 있겠지만 저는 상위 방향성 vs 상위 방향성이 동작하게 하는 워크플로우, 프로세스 등의 집합체 정도로 이해했습니다.
여기서 제 PM 업무를 떠올려보면 2가지 계획에 모두 기여를 해야하지만 출시 계획을 잡고 개발팀과 헉헉하느라 제품 계획에는 신경쓰지 못하는 것 같습니다. 😥

끝이 없네 끝이 없어..

매 주기마다 개발부서들과 개발한 콘텐츠 업데이트와 라이브 이슈 대응의 연속..

이니셔티브(initiative) 관점

제품 계획: 향후 6개월에서 1년 동안 주요 테마, 초점 영역 및 기능을 나타내는 이니셔티브를 제시합니다.

출시 계획 : 전략적 이니셔티브가 존재한다고 가정하고 팀에 집중하는데 중점을 둡니다.
출시 계획은 일상적인 성공을 위한 명확한 경로를 제시합니다. 출시 계획의 이니셔티브는 동기 부여, 책임에 관한 것입니다.

이 글에서 말하는 이니셔티브 개념은 목표를 달성하기 위한 액션 아이템 또는 액션 아이템들을 묶을 수 있는 계획이라고도 볼 수 있을 것 같습니다.
액션 아이템과 목표를 잘 버무린 계획의 느낌이네요.
OKR에서는 이니셔티브를 Key Result를 달성하기 위한 액션아이템, 어떻게 달성할지에 대한 것으로 정의하고 사용하는 케이스를 볼 수 있었습니다.

사실 사회에서 말하는 “이니셔티브”는 번역으로는 주도권, 주장이 되는 위치에서 이끌거나 지도할 수 있는 권리로 이야기하니 “권한”의 성격을 띄고 있습니다.
기업에서 특정 이니셔티브 그룹에 가입하면서 이야기하는 “이니셔티브”는 계획에 더 가깝습니다. 특정 문제를 해결하기 위한 그룹 정도로 이해할 수 있을 것 같네요.

청중(Audience) 관점

제품 계획: 외부 또는 내부 전략 로드맵으로 시각화할 수 있습니다. 고객을 위해 기대할 수 있는 새로운 기능 또는 개선 사항의 주요 영역을 제시합니다.

츨시 계획: 내부 제품 팀 및 기타 교차 기능 기여자를 위한 것. 향후 작업을 계획하고 해당 작업의 세부 정보를 추적하는 데 도움이 됩니다.

여기서 청중은 이 계획을 듣는 사람들을 의미하는 것 같습니다.
제품 계획은 외부에 공유하는 러프한 로드맵 이런 것으로 바꿔서 사용할 수 있는 것,
출시 계획은 내부 프로덕션 프로세스 문서, 업무 가이드가 될 것 같네요.

타임라인(Timeline) 관점

제품 계획: 장기간에 걸친 전략적 목표와 이니셔티브를 제시합니다. 소프트웨어 회사의 경우 1년이 일반적입니다.
출시 계획: 기능 배포 또는 주요 출시로 이어지는 특정 작업 단계를 추적합니다. 30, 60, 90일 단위인 경우가 많습니다.

제품 계획은 타임라인으로 보면 1년 계획 + 더 큰 차원의 계획도 있을 수 있겠다 싶습니다.
예를 들면, 게임의 핵심 재미를 정의하고 어떻게 그 재미를 더 키울 수 있을까를 계획하거나 다른 맛을 곁들이거나 하는 등의 방향 설정이 있을 것 같아요.

출시 계획은 단순히 생각하면 업데이트 주기를 말할 수 있겠습니다. 그 주기에 맞춰 필요한 일들의 타임라인을 정리하고 프로세스화 한 것을 출시 계획으로 볼 수 있겠죠.

마무리

글 마지막에는 “How do you use product plans and release plans in your work?” 라고 질문을 해주었는데 글을 읽다보니 저는 제품 계획이 잘 이뤄질 수 있도록 출시 계획을 관리하고 있었구나 싶었습니다.

Being responsible for a product plan and a release plan challenges product managers to think about every element of delivering a Complete Product Experience. It is a good way to encourage both big and small thinking.

이런 말을 글 마지막에 크게 달아뒀는데 각 계획을 정의하고 그 정의에 맞춰 일을 정리해나가는 것이 좋은 경험이 되는 것 같습니다.
어떤 게임 개발사는 패키지 형태로 한번에 빡 출시하고, 어떤 개발사는 얼리억세스부터 지속적인 업데이트를 통해 출시하고 여러 방법이 있으니 각자의 계획이 다 다르겠죠

너는 다 계획이 있구나! - 기생충

어쨌든 각자의 계획이 다 있는 것 아니겠습니까 😁

우리는 어떤 계획을 가지고 살고 있는지, 2개의 계획을 분리해서 보자면 어떻게 정의하고 있는지 생각해볼 수 있는 시간이었어서 재미있는 글이었습니다.
다른 재미있는 글들도 있으니 나중에 보고 또 공부 겸 포스트해보겠습니다.

NDC22 프로덕션 발표 리뷰 - 피파 온라인4 라이브 서비스

NDC22 발표 리뷰

6월에 여러 컨퍼런스가 있었는데 게임 업계 프로덕션 직군에서 일하는 사람이니 NDC 프로덕션 내용들은 잘 챙겨서 봐야겠다 싶어서 보면서 슬쩍 정리해보았습니다.

리뷰라고 말하긴했지만 배울 것과 우리 조직, 프로덕션 상황을 같이 보면서 되돌아볼 수 있는 것들이 있어 흥미롭게 발표를 보았어요. ㅎㅎ

https://www.youtube.com/watch?v=rK83XrOU5Bg

리뷰

처음에는 피파 온라인 서비스를 오래 운영한 팀의 이야기가 궁금해서 들어보았는데 외부에 공유할 수 있는 만큼 잘 정제(?)해서 공유해주셨구나 싶었습니다.

조직 구조, 업무 방식을 외부에 공유한다는게 긍정적인 것 보다 우려가 많을 수 있는데 적당히 추상화해서 공유해서 가능했던 걸까 싶었네요.

  • 서비스 기간
    • 피파 온라인4는 2018년 부터 서비스한 게임이지만 피파 온라인 시리즈는 발표에서 말하길 16년차된 서비스로 소개해주셨습니다.
    • 히스토리를 좀 확인해보았더니 피파 온라인1은 2006년에 런칭했었네요. 1부터 보면 16년차 맞습니다. ㅎㅎ
    • 게임을 개발하고 서비스하면서 어떤 어려움들이 있었을까, 어떤 그림자들이 있었을까 궁금하기도 했네요.
  • 조직 구조 - 약 150명 정도
    • 조직 구조는 기능 조직으로 구성하고 모든 기능 조직들을 묶는 Line 조직에 PD를 두는 것으로 보이네요.
    • PD 중심으로 기능적으로 조직을 구성하고 조직에 시니어들은 매니저 부담을 덜고 개인과 주니어의 커리어와 제작의 퀄리티를 담당하게 한 것에 대해 매니저(DD)와 시니어를 분리해서 평가 체계를 가져간 것이 신기했습니다
  • 2개의 개발팀(Meta/Core) 로테이션
    • 라이브팀 운영을 해보려했지만 개발자들은 콘텐츠를 만들고 싶어하는 경향과 라이브팀 운영 특성상 노령화가 될 수 밖에 없고 해보았으나 조직 운영에 어려움이 있었던 것 같았습니다.
    • 3, 6개월 단위의 업데이트도 시도해보았지만 라이브 대응이 어려웠다고 합니다.
      (이슈 대응과 업데이트는 다른 카테고리의 이슈인데 왜 그 단위만큼 늘어지는 구조를 사용했었을까하는 의문이 있었네요. 🤔)
  • 의사결정
    • 앞에서 조직 구조 이야기하면서 PD 중심의 조직이 있고 그 조직에는 모든 직군팀이 있다고 했었습니다. 이에 따라 기능 조직을 모았지만 목적 조직 아래에 기능 조직이 모인 형태로 이해했어요.
    • 이런 목적 조직 구조의 특성상 의사결정 속도는 빠르게 이뤄질 수 있겠다 싶었습니다.
  • 프로덕션 프로세스
    • 각 프로세스 단계의 정의와 결과물의 정의를 깔끔하게 했다는 인상을 받았습니다. 라이브 서비스를 오래했던 만큼 프로세스가 잘 닦여있다는 인상을 받았어요.
    • 각 프로세스에서 진행되는 일에 대해 다이어그램으로 표현한 것을 보면서 우리도 저런게 잘 정리되면 좋겠다 싶었습니다.
    • Hardening 이라는 표현은 생소했는데 피파 온라인팀에서는 퍼블리셔와 함께 빌드가 단단한지 확인하고 문제가 있다면 수정하는 단계 정도로 정의한게 신기했습니다. (우리는 릴리스 준비 정도로 간략히 정리해볼 수 있겠다 싶었네요)
  • 라이브 이슈 대응 우선순위
    • 가이드 문서에서 기억에 남는 것은 이슈 우선순위에 따라 대응을 며칠 전까지 해야하는가에 대해 정의되어있었다는 점이네요. 추가로 연락 방법도! (전화, 메일, Jira 이런식으로 나눠짐)
    • 라이브 이슈 대응 우선순위 가이드라인 내용이 우리도 필요하겠다 싶었습니다
  • 라이브 서비스 플랜
    • 롱텀 플랜을 만들고 명확한 기준으로 개발, 출시하고 있는데 피파 온라인 게임 콘텐츠 특성상 현실세계 시즈널 이벤트들이 있고 그에 맞춰 계획, 개발하고 있다고 합니다.
    • 개인적인 생각으로는 코로나 영향으로 축구 경기도 연기되고 하느라 이벤트 대응에 이슈가 있었지 않았을까 싶긴했네요. 😂

발표 내용 노트

개발팀 구조

  • 22년 조직 변경 방향성: 직능적 구조(직군 모임)로 바꾸고 매니저 역할(목표 관리), 시니어 역할(업무 관리, 퀄리티 관리) 나눠서 결정을 빠르게하고 대응함
  • Core, Meta, Codev 등 직군별로 팀을 나누고 PD 중심 기능적으로 조직을 변경
  • 2개의 프로덕션팀 - Core, Meta
    • Core: Fun, Competitive Gaming, Core Ex 등 UI/UX 개발
    • Meta: 프로그레션, 라이브 서비스, 유료화, 개인화 경험 개발
    • 2개의 프로덕션팀은 2개월 로테이션으로 콘텐츠 개발, 라이브 서비스를 돌아가면서 대응함
    • 버그 대응: 본인의 팀에서 개발한 콘텐츠 버그는 콘텐츠 개발팀에서 수정한다
  • 스페셜팀(DET): 개발환경 개선, 인프라 개선 등 긴 호흡으로 스페셜한 영역의 일을 함
  • Art, CODEV 등 팀이 있음
  • 우리와 비슷한 이슈
    • 버그 수정하더라도 1-2달 뒤에나 수정한 것을 배포할 수 있었음

Work Process

  • High-level Roadmap
    • 로드맵을 만들 때 PD는 어떤 것을 개발할지 결정
    • GD는 콘텐츠 목표, 방향성을 정의
  • Pre-Planning
    • 피쳐에 대한 상세 정의
    • 결과물: IDD, PDD, FDD 등 디자인 문서
  • Planning
    • Pre Planning 하면서 이미 유관부서는 컨텍스트를 알고 있기에 안정적인 계획을 할 수 있음
    • 결과물: FDD 기준으로 만들어진 TDB(기술 문서), 로그 설계 문서, 테스트 설계 문서
  • Development
    • 진짜 개발, 프로덕션 시작
    • 개발하면서 사전 테스트 프로세스를 진행하여 안정성을 올림
  • Debugging
    • 테스트 문서를 기반으로 디버깅 진행
    • QA팀은 빌드 내에서 전체 기능 테스트 진행. 목표는 퍼블리셔 스테이징 환경에서 진행할 QA를 위해 빌드를 준비하는 것
  • Hardening
    • 퍼블리셔 시스템, 모바일 플랫폼 확인 등 빌드 유효성 검증 테스트
    • 결과물: 최종 빌드, 빌드 노트, 점검 노트
  • Release / Live Support
    • 릴리스 모니터링 및 피쳐 분석
    • 버그 모니터링 후 핫픽스, 다음 패치 목표를 결정하기도 함
    • 결과물: 피쳐 분석 리포트, 유저 피드백들

피파온라인은 16년 동안 서비스한 게임으로 지금의 조직 구조가 탄탄하다고 평가하고 있음
2022년 목표로 피파온라인을 완성해보려하고 있음

마무리

NDC에서 소중한 프로덕션 사례를 발표해주신 EA Korea, 피파 온라인팀에 감사한 마음으로 보았습니다.
사실 프로덕션, 내부 조직 구조 내용은 발표나 자료들을 찾아보기 쉽지 않은데요.
이렇게라도 다른 개발 조직은 어떻게 살아가고 있는지 알 수 있어서 좋았습니다. 👍
이 포스트 이후에 팀 내부에 우리 조직과의 차이점, 배울점을 고민해보면 좋을 것 같다는 생각이 들었네요.
이만 포스트를 마치겠습니다. 🙏

이슈 트래커(Issue Tracker Jira)에 잘 접근하는 방법 고민 #1

방법 연구 목적

Jira에 접근해서 자신이 해야하는 일이 무엇인지 확인하기 어려워하는 분들이나 더 편하게 접근할 수 있는 방법이 있을까 하는 생각이 들었습니다. (갑자기?)
궁극적인 목적은 작업자들이 자신이 해야하는 일을 잘, 빠르고 편리하게 확인하고 일할 수 있는 것이죠.
나에게 할당된 일을 바로 알 수 있는 방법이 있다면 제일 좋을 것 같아 각 작업자의 작업 흐름, 작업 프로그램 등을 확인해봅니다.

(TMI) 이 글을 정리하게된 계기

https://youtu.be/xlV82Q-ZmAA

2021년에 OKKYCON에서 김영재님이 발표해주셨던 프로덕트 조직의 생산성 높이기 내용에 감명을 받아서 정리하게되었습니다.
(작년에 본 영상인데 왜 이제야? 라는 생각도 들지만 최근에 동료분들이 내가 어떤 일을 해야하는지에 대해 편하게 접근할 수 있다면 Jira와 친해지고 더 잘 쓸 수 있게되지 않을까했습니다. 😁)

영상에서는 “개발자가 이슈 트래커를 잘 쓴다는 기준”에 대해 다뤄주셨는데요.

  • 이슈 트래커 웹에서 적게 열어볼 수록 잘쓰는 것
  • 절대 상태를 손으로 바꾸지 않는 것 → (핵심) 커밋 메세지로 상태 변화가 가능한 것

작업

게임 개발(PUBG 기준)에 있어서 작업자 카테고리 및 작업 프로그램을 분류해보겠습니다.
일단 PUBG 개발은 Unreal Engine Editor, Perforce/Git 으로 작업하고 소스를 관리하고 있습니다.

엔지니어 Engineer

(코딩 + 블루프린트 작업) Visual Studio (Visual Studio Code), Unreal Engine Editor

  • 코딩 후 Git 히스토리 정리를 위해 SourceTree, Fork, GitKraken 등 Git GUI를 사용하는 경우도 있음
  • PUBG는 소스 컨트롤 시스템을 Perforce와 Gitlab(Git)을 쓰고 있음

아티스트 Artist

(애셋 작업) Maya, 3D Max …, Unreal Engine Editor

  • 컨셉 아티스트…의 경우 어도비 포토샵 또는 일러스트레이터?
  • 어쨌든 실제 게임에 적용되는 애셋들은 언리얼 에디터 통해서 반영되어야하니 커밋 내용을 작성하고 푸시하는 곳은 언리얼 에디터? Perforce?
  • (어디가 편할지는 인터뷰와 고민이 필요합니다.)

기획자 Designer

(데이터 작업 + 블루프린트 작업 등) Excel, Unreal Engine Editor

  • 데이터 작업을 엑셀로만 하지는 않고 언리얼 에디터에서 그래프를 수정하는 등 여러 작업이 있음
  • 블루프린트에 입력해야하는 데이터, 코드에서 가져다 쓰는 데이터 등 에디터와 에디터 밖에서 작업 가능함

작업 프로그램과 Jira 연결

각 작업자분들이 작업을 하는 프로그램에서 Jira 이슈를 볼 수 있는 방법이 있는지부터 확인을 해봐야겠죠?
작업 프로그램 하나하나 관련 플러그인이 있는지 확인해보겠습니다.

작업 프로그램Jira 연결 프로그램특징/코멘트
Visual StudioVSJira⚠️ VSJira
- VS 2019에서 동작하지 않는다는 평가가 많네요. (동작하는지 확인 필요)
Visual StudioCodeStream-vs✅ CodeStream-vs
- New Relic에서 만든 플러그인으로 VS 2019 버전에서 동작 가능하고 지금도 유지보수가 이뤄지고 있는 플러그인
- 내 이슈를 확인하고 이슈를 바로 만들 수도 있습니다.
- Jira 외에도 다른 서비스 연결이 강력하네요. (슬랙, 팀즈, 트렐로 등)
Visual Studio CodeJira and Bitbucket✅ Jira and Bitbucket
- 아틀라시안에서 만든 플러그인으로 유지보수 및 여러가지 Jira 기능이 보장되어있습니다.
- 플러그인의 형태로 VS Code에 설치 후 서버 설정 및 계정 설정
- VS Code에서 바로 이슈 내용을 바로 볼 수 있습니다
- VS Code 내에서 필터를 구성해서 내가 보려는 이슈만 골라서 볼 수도 있고요
Unreal Engine EditorBug-reporter
❌ Bug tracker
❓ 언리얼 엔진 플러그인으로 있는 것을 찾기 어렵네요
- ❌ Bug-reporter 플러그인은 있는데 $30로 비용이…
- ❌ Bug Tracker 플러그인은 ₩73590… 꽤 비싸네요. 다만 Trello만 지원해서 패스.
없어서 플러그인 만들어서 써야하는 것 같습니다. (다른 회사들도 그냥 만들어쓰는걸까요..?)
Perforce(P4V)❌ / ⚠️ jira-perforce 연결
- P4V에서 바로 Jira 연결하는 플러그인은 따로 없고 커스텀 툴을 개발해서 넣어야합니다.
- HTML Tool 또는 Custom Tool을 따로 만들어서 적용해야합니다.
- 다른 서비스들에 연결은 할 수 있는데 추가로 구매하고 설정해야하는게 큰일이네요.

고민 1차 정리

일단 각 작업 프로그램별로 Jira 연결 프로그램을 확인해보았는데요.
Visual Studio쪽은 있는데 언리얼 에디터, 퍼포스 쪽은 제대로된 플러그인을 확인할 수 없었네요.

공교롭게도 게임 개발 관련 프로그램에는 Jira 연결 플러그인을 찾기 어려웠… (게임 개발과 이슈 트래커 툴은 친하지 않은 관계일까 싶기도했지만 아니겠죠..?)
물론 언리얼 에디터 쪽에 관련 플러그인이 있지만 Jira를 딱 잘 쓸 수 있게 만들어진 것은 아니어서 애매하다고 생각했습니다.

내부 동료 개발자분들은 어떻게 Jira를 사용하고 있는지, 어떤 방법으로 커밋(submit)할때 jira 이슈를 찾아서 보고 있는지 인터뷰해보고 개선 각을 봐야겠습니다.
개선 방식은 #2 포스트로 찾아올게요 😃

What is Tech PM

Tech PM(Project Manager)이란 무엇일까?

지금까지 약 2년 동안 개발 PM으로 일해왔는데, 내가 상상하고 생각했던 개발 PM이 지금 하는 일과 같은가? 하는 내안의 질문이 있었다.

개발자(엔지니어)로 앱 개발하다가 개발 PM으로 전직하고나서 전직 전에 내가 생각했던 일을 하고 있는지, 내가 잘알고 있었던 것인지 되짚어보고 싶어졌다.

내가 생각했던 Tech PM부터 한번 알아보고, 내가 왔던 길과 가야할 길을 정리해보고자 한다.

Tech PM 구글에 찾아보면…

구글에 Tech PM이라고 검색해보면 그렇게 많은 내용은 나오지 않는다. 아래 링크를 보면 대략적인 기술 PM의 역할을 볼 수 있지만.. 내가 알고 있는 개발 PM의 일반적인 내용을 담고 있어서 “기술 PM이 그래서 뭐가 다른 것이지?” 하는 의문이 있었다.

https://www.wrike.com/project-management-guide/faq/what-is-technical-project-management/

링크에 있는 내용을 정리해보면 3줄 정도로 요약해볼 수 있다.

  • IT 프로젝트에서 기술 지식 기반으로 프로젝트를 관리할 수 있음.
  • 기본적인 프로젝트 매니저가 하는 일을 함.
  • 큰 그림도 볼 줄 알아야하며 전반적인 기술 지식도 있어야 함.

결론, 소프트웨어 개발 PM으로 일하는 데에 어려움이 없을 정도로 지식이 있는 PM이면 된다.
(너무 일반적인 내용이라서 자세하게 안본 탓도 있는 것 같지만, 뭔가 딱 이거야! 하는 내용이 없었다.)
이 정도 내용으로는 내가 생각하는 기술 PM이 설명되지 않은 것 같아 더 찾아보기로 했다.

Technical PM 업무 소개서(Job Description) 보기

다른 회사의 기술 PM 업무 소개서를 보면 알 수 있지 않을까?로 시작된 조사!

https://www.indeed.com/m/jobs?q=Technical+Project+Manager

  • 몇 가지 JD를 보면서 각 회사마다 원하는 바가 많이 다르다는 것을 알 수 있었다.
  • Oracle, IBM 등 IT 솔루션을 판매하는 회사의 경우 내부 기술 PM이라기보다 기술 영업 PM의 느낌이 강하다.
    • 기술을 이해하며 해당 솔루션을 영업하는 업무
    • 기술적인 부분에 대해 고객과 커뮤니케이션하는 TAM(Technical Account Manager)
  • IT 회사가 아니지만 기술 PM이 필요한 경우에는 내가 지금하고 있는 개발 PM과 다를 것이 없는 듯 하다.
    • 일반적인 IT 서비스 개발 PM (일반적이라는 말이 모호하긴하지만 더 좋은 표현은 못찾겠다.)

TAM(Technical Account Manager)은 또 뭐지?

그러던 중 TAM과 관련한 내용도 계속해서 나오길래, 한번 찾아보게 되었다.
https://www.buzzvil.com/ko/2018/12/26/buzzvil-people-jen-yoon-technical-account-manager/

  • 버즈빌에서 TAM 업무를 하고 있는 분의 인터뷰 글.
  • 연동 문서 관리 / 내외부 이슈 해결 / 프로세스 세팅 및 개선 업무를 하고 있다고 한다.

https://cloud.google.com/tam/?hl=ko

  • 구글 클라우드에서 TAM 팀은 약간 컨설턴트 느낌이다.
  • 다른 TAM도 마찬가지이긴 한데 구글은 B2B 관련 일이 많아 그런 것 같다.

https://aws.amazon.com/ko/careers/support/employee3/

  • AWS의 TAM 업무 소개 페이지.
  • TAM이 하는 업무에 대해 소개하고 지원 버튼이 밑에 있다.

Technical Program Manager도 있네?

https://www.amazon.jobs/en/jobs/990061/technical-program-manager

찾다보니 내가 하고자했던 것이 기술 프로그램 매니저였을까 하는 물음표가 생겼다.

처음에 내가 하고싶었던 일이 프로젝트 매니저였는지 프로그램 매니저였는지 모호한 상태이고, 회사마다 PM의 정의가 다르기 때문에 이 용어를 분리해서 이야기하는게 큰 의미는 없을 수 있다.
(참고 링크: “프로덕트, 프로그램, 프로젝트 매니저? 뭐가 다른가요?” )

다만 내가 원했던 일은 엔지니어 경험을 활용해서 개발팀의 전체적인 프로세스가 잘 진행될 수 있도록 돕고 싶었고, 일이 효율적으로 진행될 수 있도록하고 싶었다.

위 참고 링크에서는 프로그램 매니저, 프로젝트 매니저를 이렇게 설명한다.

  • 프로그램 매니저는 제품을 어떻게 에 모든 열정을 쏟는 역할
    • 어떻게 제품을 만들지, How에 집중하는 역할로 이해했다.
  • 프로젝트 매니저는 제품을 언제 에 관심이 있는 역할
    • 제품을 언제까지 만들 수 있을지, 언제 내보낼 수 있을지 When에 집중하는 역할로 이해했다.

정리해보면 전직 전에는 “어떻게 개발을 잘할 수 있을까” 같은 고민을 하면서 일하겠지? 했지만, 지금하고 있는 일은 언제 출시할 수 있을지 관리하는 프로젝트 매니저일을 하고 있는 것 같다.
(물론 전체 조직의 개발 생산성에 관심이 많아 생산성을 올릴 수 있는 도구들도 도입해보고 개발해보는 등 프로그램 매니저일도 약간은 하고 있다는 생각도 든다.)

Tech PM, 프로젝트 매니저든 프로그램 매니저든

맨처음으로 돌아가서.. 내가 하고싶어하는 Tech PM의 정의는 무엇일까 정리해보자.
이 글을 쓰기 전에 페이스북에 “여러분들이 생각하는 Tech PM(Technical Project Manager)는 어떤 모습인가요?” 질문을 올렸었는데, 회사 동료분의 말이 와닿아서 같이 정리해본다.

PM도 포함해서 사람들이 모호하게 정의한다고 생각해요. 프로그래머에게 바라는게 무엇인가요? 하는 느낌같은…? 상황, 경험과 역량에 따라 천차만별이 아닐까요?

회사마다 PM을 정의하는게 다르고 팀마다 다르고 경험과 역량에 따라 다 달라진다는 것을 한번 더 확인받은 기분이었다.

정리하다보니 더 심플해지는 것 같지만, “어떤 역량과 경험을 가지고 일하는지에 따라 PM 역할은 달라질 수 있다. Tech PM이라는 역할에 갇히지말고 역량을 키우자” 정도로 내 생각을 마무리해본다.

위에 있는 정리된 내용으로 기본적인 Tech PM 정의는 된 것 같지만, 아직 한국에서는 PM의 명칭, 역할이 명확하게 구분되어 있지 않아 딱 이거다하는 정의는 어려운 것 같다.

이정도로 생각을 마무리해본다.
다음 글에서 더 성장한 생각의 글을 쓸 수 있기를!

What is Dev PM

개발 PM(Project Manager) 리서치

이직하는데에 필요한 정보와 커리어 전환이 괜찮은가에 대해 조사해보았습니다
재작년 말에 개발자에서 PM으로 이직을 준비하면서 작성한 문서를 조금 다듬어 포스트합니다

전에는 개발 PM이라고 했을 때, 개발 = Tech로 생각했었는데 지금 다시 생각해보면
개발이 잘 이뤄질 수 있도록 하는 Dev(Development)가 맞는 것 같아 당시 작성했던 내용을 정정했습니다
(사실 기술 PM도 어떤 일을 하는지, 어떤 일을 해야하는지 나중에 정리해보겠습니다)

리서치한 내용

  • 개발 PM(Development Project Manager)이란 무엇인가
  • 현재 개발 PM을 뽑는 곳이 있는가
  • 향후 5, 10년 내에 개발 PM의 이력을 살려서 이직을 할 수 있는가
  • 개발 PM이 미래가 있는가
  • 개발 경력이 있는 주니어 개발자가 개발 PM이 되는 것에 대한 의문
  • 개발 PM이 되려면 필요한 능력

개발 PM(Development Project Manager) 이란 무엇인가

우선 프로젝트 매니저의 정의는 아래와 같습니다

한시적인 일을 수행하는 데 있어서 관리 방법론(통합, 범위, 시간, 원가, 품질, 인력, 의사소통, 위험, 조달관리)에 따라 가장 효율적으로 추진하는 것으로 프로젝트의 계획과 실행에 있어서 종합적인 책임을 가진 직책 또는 직무

여기에 개발(Development) 속성을 추가해서 찾아보면 핵심 역량(Key Responsibilities)은 아래와 같습니다.
(EA Korea, Development Manager 직군 채용 정보)

  • Development Director, Technical Director, Producer를 도와 서비스 개발 일정을 맞춤
  • Development Director를 도와 프로젝트 위험 요소를 파악하고 대응
  • 서비스 개발 일정을 확인하고 현재 상황을 알림
  • 서비스 개발 이슈를 발견하여 해결하거나 보고
  • 팀 외부 관계자와 커뮤니케이션을 담당
  • 회의를 주관하고, 결론 및 추적해야 할 사항을 정리

게임 개발 PM서비스 개발 PM 과는 차이가 있겠지만 대략 위와 같다고 볼 수 있습니다
국내에는 서비스 개발 PM의 개념을 찾기 힘듭니다 (Product Manager + Project Manager가 합쳐진 형태)

현재 국내/국외 개발 PM을 뽑는 곳이 있는가

(Product Manager 개념과 혼동되는 곳은 제외)

  • 라인 Plus - Technical Project Manager
  • 넥슨 - 분석팀 2개
  • 블리자드 - 상하이
  • EA Korea - Development Manager | Associate Development Manager 라는 분야가 있음
  • PUBG Corp - 개발 Project Manager
  • 스타트업(10개 이상 존재, 주로 CTO 업무와 많이 겹침)

향후 5, 10년 내에 개발 PM의 이력을 살려서 이직을 할 수 있는가

이직을 할 수 있는가에 False에 대한 케이스를 보면될 것 같습니다.

  • 개발 PM이라는 직군이 사라지거나 굉장히 적어져서 이직을 하기 힘듬
  • 내 경력이 부족해서 이직을 하기 힘듬

개발 PM이라는 직군이 사라지거나 굉장히 적어져서 이직을 하기 힘듬

개발 PM이라는 직군이 미래에도 존재할지 찾아보았지만
몇몇의 필요성이 있다는 글을 보았지만 없어지지 않을 것이라는 글은 모르겠습니다
(어떤 직군, 직업이든 없어질 수는 있다고 생각합니다)

http://www.blog.greenprojectmanagement.org/index.php/2016/07/12/the-future-of-project-management/
이 글에서의 결론만 본다면 아래와 같습니다. (글 중간에 이야기한 내용은 잘 모르겠습니다)

우리는 프로젝트 및 프로젝트 관리자의 필요성에 대한 성장을 논의했습니다. 우리는 프로젝트 관리자가 현재 시스템에 집중하지 않는 고유한 역량 및 기술 세트를 보여줘야 함을 입증했습니다. 추세는 프로젝트 관리가 예측 가능한 미래를 위한 실행 가능하고 인기있는 직업임을 나타냅니다! - (Google Translation)

프로젝트는 분명히 있을 것이고 그에 따른 프로젝트 매니저는 프로젝트의 효율성 등을 감안했을 때
프로젝트 매니저가 필요없을 일은 없겠구나 하는 생각이 드네요
(다만 프로젝트 매니저가 잡다한 일을 할 수도 있겠구나하는 생각도 동시에 듭니다)

내 경력이 부족해서 이직을 하기 힘듬

경력이 부족해서 이직을 하기 힘들다 라는 가정은 이 정도가 될 것 같습니다

  • 경력을 제대로 가꾸지 않았다
  • 중간에 잘려서 경력이 끊겼다
  • 어중간한 경력으로 이직을 하기 힘들다

사실 위의 3가지 모두 개인의 성장력과 연관이 있다고 생각합니다
만약 PM으로 전환한다면 어떻게 경력을 쌓아갈 것 인가에 대해 고민하는게 맞는 것 같습니다

개발 PM이 미래가 있는가

앞에서 개발 PM 직군의 향후 미래에 대해서 조사를 했는데 미래가 없어 보이지는 않았습니다
미래 개발자 수나 프로젝트 수를 알 수 없듯이 먼 미래를 알 수는 없지만 프로젝트는 진행될 것이며 PM은 존재할 것이라고 생각합니다
우려되는 점은 개발 방법론, 기술의 발전으로 개발 PM의 필요성이 줄어들고 있다는 우려도 볼 수 있었는데 어쩌면 프로젝트 관리, 인력 관리 등 관리에 대한 직무가 흔들릴 수 있다고는 생각이 드네요

개발 경력이 있는 주니어 개발자개발 PM이 되는 것에 대한 의문

서비스 개발 경력이 있고 컴퓨터 공학(컴퓨터 과학)을 전공한 PM이 경쟁력이 있다는 조언은 들었습니다
여기서 의문점은 개발 경력을 3년 또는 5년까지 쌓고 PM으로 전환하는게 좋지 않나? 라는 의문이 있습니다

저는 현재 약 2년의 개발자 경력을 가지고 있는데 아래와 같은 의문들이 있습니다

  1. 개발자로 경력을 더 쌓고 후에 전환을 한다면 더 좋은 PM을 할 수 있지 않을까?
  2. 이 경력으로 개발 PM으로써 충분히 퍼포먼스를 낼 수 있을까?
  3. 문서화나 업무의 경우는 같이 일하는 분들과 일하면서 충분히 배울 수 있지만, 개발자라 더 어려운 점이 있을듯?
  4. 경력이 부족함에 있어서 같이 개발하는 분들이 PM을 신뢰하기 힘든 상황이 있지 않을까?

1번 고민을 제외하고는 전환 후에 일하면서 배울 수 있는 부분이라고 생각합니다 (1번은 근본적인 고민)

PM으로 전환한다면 개발을 할 수 없는 것은 아니지만 개발자 커리어로 연속적인 커리어 관리가 힘들다는 점
하지만 3~5년 뒤에는 PM을 하고 싶었다는 점. 지금 도전해보는 것도 나쁘지 않을 것 같다는 점

경력, 개인의 성장은 회사 업무와 개인의 적성이 정렬되었을 때 성장이 폭발한다고 생각합니다
그리고 이 성장은 회사가 챙겨주지 않고 개인이 챙겨야 하는 것으로 생각합니다

1번에 대한 고민은 전환을 하거나 하지 않더라도 계속 있을 고민인 것 같습니다
현재 전환이 확정되지 않은 상태에서 고민하기보다 전환을 도전해보는 것이 좋지 않을까 합니다

개발 PM이 되려면 필요한 능력

개발 PM이 되려면 필요한 능력은 위에서 적어둔 그대로 보면되지 않을까 합니다

  • 원활한 커뮤니케이션 능력
  • 도메인 지식이 많아야 함 (프로젝트에 대한 도메인 지식)
  • 개발 프로세스, 개발 방법론에 대한 이해도
  • 컴퓨터 전공 지식이 있으면 좋음
  • 개발 우선순위, 일정 관리, 스펙 관리, 리소스 관리에 있어 최적의 효율성을 달성할 수 있는 역량
  • 조직 내 발생할 수 있는 다양한 상황에 대한 대처 및 해결 능력뿐만 아니라, 개발 과정에서 발생할 수 있는 문제에 침착하게 대응 할 수 있는 역량

(위의 항목은 PUBG Development Project Manager 자격 조건을 몇가지 가져왔습니다)

리서치 후기

당시 PUBG Dev PM으로 이직하기 위해 리서치했던 문서를 정리해보았습니다
막연하게 생각해왔던 것들을 정리해보는 좋은 시간이었습니다

같이 개발하는 팀원들이 힘들지만 즐겁고 효율적으로 같이 성장할 수 있도록 돕고 싶다!

지금도 같은 생각으로 PM 업무를 하고 있고 더 좋은 개발환경, 프로세스를 만들고자 합니다

최근 들은 개발 PM 이야기 중 가장 깔끔했던 발표 공유를 마지막으로 포스트 마무리하겠습니다

이해봄님 2019 NDC 발표, 개발 PM-전지적 참견시점