product manager

KAKAO PM이 되어 유저스토리와 백로그 작성하기 [코드스테이츠 PMB 10기]

오랑체리 2022. 3. 15. 00:02

제품 개발 방법론에는 워터폴(Waterfall)과 애자일 방법론(Agile)이 있다.

 

 

워터폴(Waterfall)

Waterfall 은 제품 A를 스스로 정해서 고객 테스트 없이 팀 내 혹은 기업 내 이해관계자들끼리의 결정만으로 제품 개발 후 시장에 내놓는 전략이다. 워터폴 개발의 특징은 처음부터 고객 문제를 해결하는 솔루션을 정의하고, 위에서부터 아래로 내려가면서 개발한다.(탑-다운 방식)

 

워터폴 개발 과정은 다음과 같은 과정을 선형적으로 진행한다.

 

  • 요구사항 수집과 분석: 프로젝트에 사용될 기능적, 시스템적 또는 기술적 사양 정보를 클라이언트와 주요 이해관계자로부터 수집한다.
  • 설계: 사용자 경험 전문가는 고객, 제품팀 및 기타 주요 이해관계자와 함께 제품의 모양새와 여타 요소들을 결정한다.
  • 테스팅: 성능, 시스템 및 사용자 승인 테스팅을 수행하여 제품이 요구사항을 충족하는지 확인한다. 만약 결함이나 버그가 발견되면 제품이 전달되기 전에 해결된다.
  • 프로젝트 최종 결과물 전달: 프로젝트를 착수할 때 확정했던 사양을 제품이 충족하면 클라이언트에게 전달한다.
  • 유지보수: 클라이언트는 제품을 전달받은 후 추가적인 스코프 변경을 요청할 수 있다. 프로젝트 비용과 시간은 추가될 수 있다.

 

장점

워터폴 방식의 큰 장점은 프로젝트 관리가 수월하다는 점이다. (개발) 초기부터 출시에 이르기까지 각 단계 별로 만족시켜야 할 최소 요구 사항이 있고 요구 사항에 따라 문서화가 잘 돼있기 때문이다. 또, 각 단계별 업무 분담의 효율성을 최대한 끌어올려 초기 설정한 요구 조건을 만족시키는 것에 집중하기 때문에 손에 익은 작업일수록 생산 속도를 가속화할 수 있다는 장점이 있다. 

단점

초기 요구 사항이 명확하기 때문에 프로젝트가 끝나고 제품이 완성되었을 때 결과물이 고객에 기대에 미치지 못할 수 있다는 한계점이 있다. 즉, 고객이 참여할 수 있는 단계는 시작 단계와 마지막 단계(출시 시점)이기 요즘처럼 고객의 요구사항이 급변하는 시대에는 즉흥적으로 대응이 어렵기 때문에 큰 취약점이 될 수 있다. 만약 뒤늦게 제품을 다시 수정해야 하는 상황이 생긴다면 수정하고 시험하기를 다시 번복해야 하기 때문에 많은 비용이 들어가는 단점도 있다. 또한 기획단계에서 사전에 점검해야 하는 제약 사항 같은 문제들을 놓치게 될 경우 문제가 뒤늦게 발생해 수습하기가 힘들 수 있고 불가피하게 제품의 출시가 미뤄질 수 있다.  

 

 

애자일(Agile)

'기민한', '민첩한'을 뜻하는 단어적 의미에서 유추할 수 있든 애자일(Agile)은  '스프린트'라고 불리는 짧은 주기의 개발 사이클을 반복해 시장의 변화에 유연하게 대처하는 프레임워크 방식을 말한다. 따라서 아주 작은 핵심 요소만으로 제품 혹은 샘플을 만들어서 소비자 반응을 확인하고 점점 살을 붙여 나가는 방식이다.

 

각 주기는 제품이나 서비스 개발을 지속적으로 향상시키는 데 초점이 맞춰져 있으며, 반복적이며 사람 중심적인 개발 방식을 취한다.

 

  • 계획: 고객과 주요 이해관계자들이 함께 프로젝트 개념화, 브레인스토밍, 정의, 우선순위 설정, 필요 자원, 예산 책정을 논의한다. 그다음 승인 및 실행하는 작업이 이뤄진다.
  • 설계: 사용자 경험 전문가가 스크럼 마스터, 클라이언트, 제품팀 그리고 기타 주요 이해관계자와 협력해 제품의 모양새와 여타 요소들을 결정한다.
  • 개발: 개발팀은 이 단계에서 ‘스프린트’라고 불리는 여러 반복 작업을 거치며 고객 요구사항에 맞는 제품을 개발한다.
  • 테스팅: 테스팅 단계에서는 제품이 고객 요구사항을 충족하는지 확인한다. 만약 결함이 발견되면 해당 제품을 개발 단계로 보내 결함을 수정하고 다시 테스트한다. 이 단계는 제품이 고객 요구사항이나 목표를 충족할 때까지 지속된다.
  • 배포: 모든 단계가 완료되면 최종 제품을 클라이언트에게 전달한다.
  • 피드백: 팀이 전체 개발 프로세스를 회고하며 제품이나 팀의 성과를 개선하는 방법을 검토한다.

 

장점

2~4주간의 짧은 사이클로 고객의 요구사항을 최대한 반영한 MVP를 만들기 때문에 워터폴 방식보다는 고객의 참여 범위가 비교적 넓고 고객 가치를 효과적으로 전달할 수 있다는 큰 장점이 있다. 또한, 급변하는 시장에 변화에 민첩하게 대응하기 비교적 수월할 뿐만 아니라 제품 개발 과정에서 각기 다른 직무를 수행하는 팀원들의 기민한 협력으로 예상치 못했던 시너지 효과가 발생할 수 있다. 

단점

고객 가치가 급변하는 불확실성이 높은 시장에서는 적합하겠지만 반대로 변화가 적고 유동성이 낮은 시장에서는 오히려 애자일 방식이 효율성이 떨어질 수 있다. 즉, 고객이 가진 문제와 해결책을 분명하게 이해하고 결과에 대한 확신이 있다면 (이미 입증된 결과라면) 워터폴 방식이 적합할 것이다. 또한, 애자일 적용으로 인해 내부 협력이 잘 이루어지지 않아 부작용이 생길 수 있고, '무한 수정'으로 인해 너무 개발자 중심으로 프로젝트가 흘러갈 수 있다는 단점이 존재할 수 있다. 

 

 


애자일하게 일하는 방법, 3가지

 

스크럼

스크럼은 스프린트(Sprint)고 부르는 업무 주기를 반복하는 애자일 방법론이다. 스프린트 작업 단위를 부여하고 (스프린트는 보통 2주를 기준으로 하고, 팀의 특성에 맞춰 줄이거나 늘릴 수 있다) 한 스프린트가 시작하는 월요일 하루에 걸쳐 해당 스프린트 기간 동안 작업할 수 있는 개개인의 시간들을 모두 합쳐 총 작업시간을 책정하고, 스프린트 동안 할 작업들을 추산하는 “플래닝"을 진행한다. 또한 해당 스프린트가 끝나는 주의 금요일에는 그동안 플래닝을 통해 진행했던 작업들에 대한 “회고"를 진행한다.

 

유저 스토리

유저 스토리는 팀에서 해결해야 하는 고객의 문제를 제품 팀이 아닌 '고객'의 입장에서 서술한 내용이다. 유저 스토리는 기본적으로 "고객/사용자는 목적/목표를 위해 필요/욕구를 원한다"로 기술한다. 

 

칸반

칸반은 연속적인 업무의 흐름을 보여주는 보드를 이용한 프로젝트 관리 기법이다. 칸반에서 사용하는 보드를 칸반 보드라 부르는데, 업무가 어떻게 진행되고 있는지 직관적으로 확인할 수 있다. 그리고 스프린트 중심이던 스크럼과 달리 칸반은 WIP(Work In Process)라는 것을 중심으로 진행한다. 또한 언제까지 마무리해야 한다 등의 정해진 기간이 없기 때문에, 언제든지 새로운 이슈를 백로그에 쌓을 수 있다. 대신 칸반의 각 칼럼마다 WIP Limit(동시에 진행될 수 있는 항목을 제한)을 걸어, WIP에 여유가 있을 때만 카드를 옮겨와 작업을 할 수 있다. 이런 식으로 하면 병목이 어디서 발생하는지 파악하기 쉽고, WIP 안에 있는 작업에만 집중할 수 있다.

 

 


KAKAO PM이 되어 사용자 스토리, 백로그 작성해보기

 

지금은 2020년 9월, 우리는 KAKAO의 PM입니다.
2021년 1분기 내 카카오톡 '멀티 프로필'이라는 신규 프로덕트를 출시하는 것을 목표로 하고 있습니다.
카카오톡 멀티 프로필 프로덕트는 이미 충분한 논의를 통해 요구사항이 정의되어 있으며, 2021년의 가장 큰 프로덕트 릴리즈이므로 워터폴(Waterfall) 개발 프로세스로 개발하기로 결정했습니다.

멀티 프로필 프로덕트를 릴리즈 한 후 ‘어떠한’ 문제점이 발견됩니다. (어떠한 문제점은 사용자 입장에서 발생할 수 있는 문제점을 상상해서 작성합니다) 다음 버전 업데이트에 반영할 1개 이상의 개선안에 대한 사용자 스토리, 백로그를 작성합니다. 사용자 스토리와 백로그는 최대한 상세하게 작성합니다.

 

문제 상황

 

누구한테 보이는 멀티 프로필인지 헷갈려요!

 

멀티 프로필은 카카오톡 친구 화면에서 확인할 수 있다. 그러나 내가 어떤 친구들을 대상으로 멀티 프로필을 지정했는지 한눈에 파악이 안 된다. 멀티 프로필을 설정한 친구를 확인하기 위해서는 내가 설정한 멀티 프로필을 클릭하고, 친구 관리 버튼을 눌러야만 확인할 수 있다. 따라서 친구 관리 버튼을 클릭하지 않는 이상, 내가 누구를 대상으로 설정한 멀티 프로필인지 확인하기가 힘들다. 이와 같이 내가 멀티 프로필을 설정한 친구를 보는 과정이 복잡하다면, 유저들은 실수로 잘못된 대상 군에게 내가 원하지 않는 프로필을 설정할 수도 있다. 따라서 내가 누구에게 지정한 멀티 프로필인지 한눈에 파악할 수 있는 기능이 필요하다.

 

 

사용자 스토리

출처 : 유저스토리 모르는 사람 없게 해 주세요. (brunch.co.kr)

 

사용자 스토리는 "고객/사용자는 목적/목표를 위해 필요/욕구를 원한다"로 기술할 수 있다. 따라서 해당 문제를 작성해보면 아래와 같다.

 

멀티 프로필을 사용하는 고객

멀티 프로필을 헷갈리지 않고 잘 사용하기 위해서

내가 설정한 멀티 프로필이 누구에게 보이는 멀티 프로필인지 한눈에 파악하기를 원한다.

 

 

백로그

백로그
백로그 반영 화면

 

작성한 백로그를 바탕으로 카카오톡 친구 화면에서 내가 만든 멀티 프로필이 누구에게 보이고 있는지 확인할 수 있도록 하였다. 지금까지는 내가 만든 멀티 프로필이 누구에게 보이고 있는지 확인하기 위하여 '멀티 프로필 > 친구 관리' 과정을 거쳤다. 그러나 백로그를 바탕으로 반영한 수정안에서는, 내가 멀티 프로필을 만드는 과정에서 멀티 프로필이 보일 대상의 이름을 짓고, 지은 이름은 카카오톡 친구 화면에 '회사, 동아리, 스터디' 등으로 바로 보이도록 하였다. 해당 기능을 통해 유저들을 헷갈리지 않고 내가 만든 멀티 프로필이 누구에게 보이고 있는지 한눈에 파악할 수 있게 되었다. 따라서 멀티 프로필을 변경할 때에도 내가 지은 이름들을 확인하며, 각 멀티 프로필에 맞는 프로필 사진을 설정할 수 있을 것이다.

 

 

 

 

 


참고자료

유저스토리 모르는 사람 없게 해 주세요. (brunch.co.kr)

[Week 5] Agile vs Waterfall - 애자일과 워터폴의 차이점 (tistory.com)

애자일(Agile) 방법론- 스크럼(Scrum) VS 칸반(Kanban) 데이터팀은? (tistory.com)

애자일과 워터폴, 그리고 애자일의 친구들 스크럼과 칸반. 여기서는 방법론의 사전적 정의가 아닌, 개념을 말로 풀어 설명하는 데… | by unini | Medium