3. Agile method - Scrum

1) 스크럼은 무엇인가?

스크럼(Scrum)이란 1995년 제프 서덜랜드와 켄 슈와버에 의해 창안된 애자일 방식의 일종으로, 특정 개발 언어나 방법에 의존적이지 않은 프로세스 프레임워크이다. 짧은 주기(Sprint)로 개발 및 검토를 하며 변화에 유연하게 대응한다는 특징이 있다.

주요 특징

  • 개발 주기는 1~4주 정도이며, 개발 주기마다 동작 가능한 결과물을 산출해야함.
  • 개발 주기마다 적용 기능이나 개선에 대한 목록 제공
  • 매일 15분 정도의 스크럼 미팅을 가져야함.
  • 팀을 우선으로 생각하라. 배에 구멍이 뚫리면 먼저 막아야 하지 않겠는가?

추구 가치

  • 용기 → 문제에 대한 발언, 환경의 조정, 수평적인 대화
  • 집중 → 성공을 위하여 할 일을 하라
  • 약속 → 개인보다는 팀의 목표 달성을 위해 헌신하라. 이를 위한 지원이 필요.
  • 존중 → 팀원간의 존중이 필요
  • 투명/개방성 → 제품 백로그, 스크럼 회의, 스프린트 리뷰를 통해 프로젝트에 대한 모든 사항을 투명하게 공개.

주요 용어

  • Sprint → 소프트웨어 개발 주기(보통 1~4주 단위에서 선택).
  • User story → 개발자 입장이 아닌, 사용자 입장에서 제공받는 가치.
  • Product backlog → 고객이 원하는 요구사항 목록. 우선순위로 관리한다.
  • Sprint backlog → 각 스프린트 목표에 도달하기 위해 필요한 작업 목록.
  • Daily scrum → 매일 15분 정도 진행하는 미팅. 한 일, 할 일, 문제 요소등을 공유한다. 보고가 아니라 공유라는 것이 중요하다.
  • Increment → 매 스프린트에서 팀이 개발한 제품 기능.
  • Sprint review → 스프린트의 마지막 날, 관계자들에게 제품을 시연 및 피드백(제품에 관한 피드백이다).
  • Sprint retrospective → 스프린트의 마지막 날, 팀의 좋았던 점과 개선점을 도출하고 피드백(팀에 관한 피드백이다).
  • Slack time between sprints → 스프린트 사이의 휴식 기간.
  • Kanban Board → 작업을 시각적으로 업무 상태, 흐름을 보여주는 게시판.

    Untitled

역할자

Untitled

스크럼의 주요 역할자는 제품 책임자(Product Owner)와 스크럼 마스터(Scrum Master)이며, 서로를 보완한다.

제품 책임자 → 비즈니스 목표 충족

  • 제품 백로그 관리 및 설명
  • 제품 백로그의 우선순위 관리
  • 설계대로 제품이 개발되었는지 확인

스크럼 마스터 → 팀의 운용

  • 팀을 보호하고 장애 요소를 해결
  • 일일 스크럼 회의 진행
  • 모니터링 및 추적

개발자

  • 열심히 개발하자…

2) 스크럼 진행 과정

Untitled

Untitled

혹시 몰라서 같은 내용의 이미지 두 장을 들고 왔다. 같은 내용이니 이해가 되는 쪽으로 보도록 하자.

  1. Product Owner는 제품의 요구 기능과 우선순위를 제품 백로그로 정리한다.
  2. Product Owner가 정한 우선순위에서 어디까지 작업할지 팀과 조율한다.
  3. 팀은 목표를 구현할 수 있도록 스프린트 백로그를 작성 후 작업을 할당한다.
  4. 스프린트를 진행하는 동안, 매일 정해진 시간에 모든 개발 팀원이 참여하는 데일리 스크럼을 가진다.
  5. 스프린트가 종료될 때 마다 스프린트 리뷰 및 회고를 통해 제품과 팀을 피드백한다.

참고자료