PM 교육

[PM교육] 제품 개발 방법론(3)

youuuu_h 2024. 10. 14. 22:22

[ 3일차. 칸반(Kanban) 프로젝트 관리 ]

1. 칸반(Kanban) 

칸반은 1940년대 후반에 일본 토요타 자동차 회사에서 시작되었다. 토요타는 제조 공정에서 효율성을 높이기 위해 칸반 시스템을 개발했으며, 이를 통해 생산 과정을 시각적으로 관리하고, 재고 관리와 작업 효율을 최적화하였다. lean 프로세스와 마찬가지로 칸반은 이후 소프트웨어 개발과 IT 분야에 적용되어 애자일 개발 방식의 중요한 요소로 자리잡게 된다. 

 

 

Kanban은 시각적 작업 관리 시스템으로,
작업 흐름을 명확하게 보여주고,
작업 과부하를 방지하여,
효율성을 높이는 도구이다.

 

 

칸반의 핵심 6가지 원칙은 아래와 같다. 

  1. 업무 흐름의 시각화 
    : kanban 보드를 사용하여 각 작업 단계를 컬럼으로 나누고 작업 항목은 카드로 표시 
  2. 진행중인 작업 제한(limit Work In Progress, WIP)
  3. 흐름 관리 
    : Cycle Time과 Lead Time을 측정해 작업이 얼마나 발리 처리되는지를 분석하고 흐름을 개선하는데 사용 \
  4. 명시적 프로세스 정책
    : 팀의 작업 프로세스에 대한 명확한 규칙을 설정하고 공유함 
    (1) 작업 카드 작성 규칙
    (2) 작업 시작 및 완료 조건
    (3) 우선순위 결정 기준
    (4) 피드백 및 회고 규칙
    (5) 작업 중단 및 우선 작업 처리 규칙
    (6) 정의된 작업 단계 간의 이동 기준 
  5. 피드백 루프의 사용
  6. 진화적 변화
    : kanban은 점진적이고 지속적인 변화를 통해 시스템을 개선하는 것을 목표로 함 

2. 칸반(Kanban) 보드 구성 및 계획 수립 

2.1 칸반 보드 구성 요소 

Visual Signal Columns WIP Limit Commitment Point  Delivery Point 
- 작업을 시각적으로 표시하는 카드를 의미 - kanban 보드에서 작업의 진행 단계를 나타내는 칸을 의미 
(to-do, doing, done, 테스트 단계 등)
- 한 번에 진행될 수 있는 작업의 제한
- 과부하를 방지하고 작업의 품질을 높이는데 중요한 역할
- 작업을 시작하는 시점을 의미
- 작업 항목이 In progress 컬럼으로 이동하는 순간
- 작업이 완료되는 시점을 의미
- 작업이 done으로 이동하는 순간 

 

2.2 칸반 계획 수립 

  1. 목표 정의 및 작업 목록 작성
    : 제품 개발에서 이루고자 하는 최종 목표를 명확히 설정하고, 목표 달성을 위한 주요 기능 및 요구 사항을 기반으로 작업 목록(Backlog)을 작성한다. 작업을 작은 단위로 나누어 관리 가능한 Task로 만들고 이를 Kanban 보드에 추가할 수 있도록 준비한다. 
  2. Kanban 보드 설정
    :  보드의 Column 생성(일반적으로 To-Do, In Progress, Done 세가지 컬럼으로 구성, 요구사항 정의, 디자인, 개발, 테스트, 배포 등의 단계로 구분하기도 함)
    kanban 보드 작업을 통해 작업의 상태를 시각화하고, 각 작업(Task)을 카드로 만들어 보드에 올린다.
  3. WIP(Work In Progress) 한도 설정 
    : WIP 한도 설정을 통해 한 번에 처리할 수 있는 작업량 제한(병목 현상 해결)
  4. 주기적인 리뷰 및 피드백 
    : 주기적으로 진행 상태를 점검하고 필요에 따라 작업 방식을 개선하는 것이 권장된다.
    우선 순위가 바뀌거나, 새로운 요구 사항이 발생할 경우 즉시 보드에 반영하고 작업을 조정한다.
  5. 성과 측정 및 개선 
    : Cycle Time 및 lead Time 측정 후 분석을 진행한다. 이를 통해 제품 개발 속도를 파악하고 개선이 필요한 부분을 찾는다. kanban의 핵심은 지속적인 개선이다. 팀은 정기적으로 회고하여 현재 작업 방식이 적절한지 점검하고 개선할 수 있는 부분을 찾아 작업 프로세스를 최적화 한다. 

3. 칸반(Kanban) vs 스크럼(Scrum) 

  Kanban Scrum 
프로세스 구조 고정된 기간이 없으며 연속적으로 작업을 진행, 새로운 작업은 기존 작업이 완료되면 추가 Sprint라는 고정된 기간동안 작업을 계획하고 수행하는 주기적 구조 
역할 별도의 역할에 대한 요구 x
팀원 모두가 자발적으로 참여
Product Owner, Scrum Master, Team과 같은 명확한 역할 정의
작업량 관리  작업량을 제한하지 x
WIP 한도를 통해 동시 진행 가능한 작업의 양을 제한
스프린트 시작 시 작업량을 확정하고 스프린트 중간에는 작업 변경을 최소화 
진행 방식 계획된 작업을 순차적으로 처리하며 특정 리뷰나 회고 과정 없이 작업 흐름을 유지하는데 중점을 둠 스프린트 단위로 계획을 세우고 정해진 기간 동안 작업을 완성해야 하며 매 스프린트마다 리뷰 및 회고를 갖음
변경 관리 유연한 변경 가능 
작업 우선 순위 변경, 작업의 추가 등 자유로움
스프린트 중간에 작업 변경을 최소화하고 다음 스프린트가 시작되기 전에 변경 사항을 반경 
성과 측정 Cycle Time과 Lead Time같은 Metric을 통해 작업이 완료되기까지 걸리는 시간을 분석하고 작업 흐름을 개선 Velocity(속도)라는 Metric을 사용해 팀이 각 스프린트에서 얼마나 많은 작업을 했는지를 측정 

 

 


3. [개인실습] 모의 칸반(Kanban) 프로젝트

  • 발견한 고객문제&기회창출을 기준으로 kanban 프로젝트를 실행한다. 
  • 도출된 솔루션 중에서 한 개를 선택하여 해당 기능을 개발하는 데 필요한 work을 도출한다. 
  • 스크럼의 제품 백로그를 활용한다. 
  • 결과물 - 칸반 프로젝트 산출물(work, column, WIP, 명시적 정책)

[학습 결과]

  • 솔루션 명 : 에듀테크 도구 및 기능 툴팁 개발과 가이드 재구성 
  • 프로덕트 백로그 & 스프린트 백로그
  • Trello로 작성한 모의 칸반 보드 
    (1) 총 4개의 Product backlog의 기능에 맞춰 각각의 list를 생성하고, 세부 sprint backlog를 우선순위에 맞춰 작성
    (2) Column 구성(To-Do, Doing, Done,Test) 

 

  • 보드 작성 규칙
    (1) 카드 제목에 작업 명 표시
    (2) description에 작업 내용에 관한 직관적이고 간결한 설명 작성
    (3) 담당자 지정
    (4) 예상 시작일 및 종료일 지정
  • 명시적 정책