Posts [에센셜 스크럼] Chapter2 - 스크럼 프레임워크
Post
Cancel

[에센셜 스크럼] Chapter2 - 스크럼 프레임워크

스크럼 개요

스크럼은 고품질 제품의 생산을 보장하는 표준화된 공정이 아닌 일을 조직하고 관리하는 프레임워크이다. 스크럼은 일련의 가치, 원칙, 실천법을 바탕으로 조직에 기초를 제공하고 여기에 해당 기업 특유의 기술 개발 실천법과 스크럼을 실현하는 구체적인 접근법이 더해진다. 그 결과 조직 특유의 스크럼이 만들어진다. 즉, 스크럼은 모든 조직에 정형화된 형태로 적용해야 된다는 것이 아니란 얘기다. 조직에 맞는 스크럼 방법을 얻을 때까지 유연하게 변경 가능하다.

스크럼은 정직, 개방, 용기, 존중, 집중, 믿음, 권한 분산, 협동의 가치를 바탕으로 한 참신할 정도로 단순하고 사람 중심적인 프레임워크이다.

스크럼 역할

제품 책임자

제품 책임자는 무엇을 개발할지, 어떤 순서로 개발하지를 정할 책임을 가지고 있다. Product Owner(PO)라 부른다. 제품 책임자는 개발되거나 유지되는 제품의 전체적인 성공에 책임이 있다. 제품 책임자는 스크럼 마스터, 개발 팀과 적극적으로 협력하며 질문을 받으면 빠르게 대답할 수 있어야 한다.

스크럼마스터

스크럼마스터는 넓은 스크럼 프레임워크를 바탕으로 팀이 자체적인 프로세스를 만드록 따르도록 안내하는 역할은 한다. 코치 같은 역할로서 기업 내 팀이 스크럼을 더 잘 적용할 수 있도록 하여 훌륭한 제품을 만들어내는데 기여한다.

개발 팀

제품 책임자가 요구한 것을 어떻게 전달할 것인지를 책임지고 결정한다. 전통적인 소프트웨어 개발 팀에는 시스템 설계자, 프로그래머, 테스터, 데이터베이스 관리자, UI 디자이너 등 여러 가지 종류의 직업이 있다.

스크럼 활동과 산출물

image

제품 백로그

제품 책임자가 제품에 대한 기능(요구사항)들을 정하고 이에 대한 우선순위를 매기면서 생성된다. 이러한 과정을 그루밍이라고도 표현한다. 제품 책임자는 내외부 이해관계자(stakeholder)들과 협력해 제품 백로그 항목을 모으고 정한다. 그 후 항목들에 대한 가치, 비용, 지식, 위험요소 등을 고려하여 우선순위를 정한다.

스프린트

스크럼은 2주 ~ 4주 정도의 반복 주기 혹은 사이클 내에서 일이 진행된다. 즉, 이러한 일정한 작업 주기내 활동을 스프린트이다. 스프린트는 고정된 시작일과 종료일이 이고 보통 매번 같은 길이를 유지한다. 한 스프린트가 종료되면 바로 다음 스프린트가 시작된다.

규칙상 스프린트 도중에는 목표에 영향을 끼칠 수 있는 범위나 팀원의 변화가 허용되진 않지만 사업상의 필요로 이런 규칙을 지킬 수 없을 때도 있다. 언제나 예외 사항을 배제할 수 없기 때문이다.

스프린트 계획

제품 백로그에는 여러 개의 제품 요구사항들이 존재할 것이다. 하지만 기간, 지식, 실현 가능성, 위험 요소 등을 고려했을때 모든 제품 백로그를 한 번에 실행할 순 없을 것이다. 그러기에 개발팀원들과 제품 책임자 사이에서 다음 스프린트에서 이루어져야할 스프린트 목표를 정하는 것이다. 즉 다음 스프린트 동안 수행할 업무량을 정한는 것이라 볼 수 있다.

예를 들어, 제품 백로에 항목 A는 A-1, A-2, A-3이라는 3가지의 task로 분류된다. 각 task에 소요되는 시간들을 잡고 정해진 스프린트 기간동안 해야할 전체 task들을 정하는 것이다. 즉 스프린트의 목표를 설정하는 것이다. 이러한 과정으로 산출된 수행해야될 스프린트 내 전체 task들을 스프린트 백로그 라 한다.

스프린트 실행

스프린트 계획이 끝나고 다음 스프린트의 내용이 합의 되면 개발 팀은 스크럼 마스터의 코치를 받아 제품 기능을 완료하기 위해 필요한 모든 작업을 수행한다. 이때 아무도 개발 팀에게 스프린트 백로그에 있는 task를 어떤 순서나 방식으로 할 지 지시하지 않는다. 대신 팀 구성원들이 스스로 작업량을 정하고 스프린트 목표를 달성하는데 최선의 방법이라고 생각하는데로 일을 조직한다. 스프린트 실행에 대한 더 자세한 내용은 Chapter20 을 참고하면 된다.

일일 스크럼

개발 팀원은 스프린트 기간 동안 매일, 되도록이면 같은 시간에 15분 이하로 시간이 정해진 일일 스크럼 미팅(Daily Scrum Meeting)을 가진다. 이 검토와 적응 활동은 간략하게 진행하기 위해 보통 미팅 시간 동안 모두 서 있기 때문에 일일 스탠드업(daily stand-up)이라 부르기도 한다.

이때 각 팀 멤버들은 다른 팀 멤버들에게 도움을 줄 수 있도록 순서대로 아래의 세 가지 항목을 공유한다.

  • 1)지난 데일리 스크럼 미팅 이후 무엇을 했는지?
  • 2)다음 데일리 스크럼 미팅까지 무엇을 할건지?
  • 3)일을 진행하는데 있어 방해 요소나 장애물은 없는지? (이슈 또는 특이사항)

이러한 질문에 대한 답변을 모든 팀 구성원이 공유함으로써 스프린트 목표를 향해 어떻게 나아가고 있는지(프로젝트 진행 상황 및 방향성), 변경해야할 계획이 있는지, 고려해야 할 이슈는 무엇인지에 대해 큰 그림을 이해하게 된다. 데일리 스크럼 미팅은 개발 팀이 스프린트 동안 빠르고 유연한 일의 흐름을 관리하도록 돕는 데 필수적이다.

Note: 제품 책임자는 데일리 스크럼 미팅에 참석하지 않아도 된다.

완료

스크럼에서 스프린트의 결과를 잠재적으로 출시 가능한 제품 증분 이라 한다. 이는 스크럼 팀이 합의한 완료 정의에 따라 하기로 한 일들이 완전히 끝났다는 것을 의미한다.

“잠재적으로 출시 가능” 하다는 것은 만들어진 결과물이 실제로 출시되어야 한다는 것은 아니다. 출시라는 것은 사업적 판단에 의해 결정되는 것이고 여기서 말하는 잠재적으로 출시 가능하다는 것은 스프린트에서 만들어진 것이 실제 동작하는 소프트웨어이며 중요한 테스트나 통합 등 실질적으로 마무리되지 않은 중요한 일이 없다는 확신 상태를 나타낸다고 생각하는게 더 적절하다.

스프린트 리뷰

스프린트가 완료되고 난 이후 제품에 대해 이해관계자, 고객, 스크럼 팀원들이 전부 참여하여 피드백을 갖는다. 즉 스프린트 완료 후 제품에 대해 검토하고 적응하는 활동이다.

여기서 제품에 대해 부족한 점은 다음 스프린트에 반영하여 스크럼 팀이 목표를 더 잘 성취하도록 도울 수 있다.

스프린트 회고

스프린트 회고는 스프린트 리뷰와 헤깔릴 수 있다. 스프린트 리뷰제품에 대해 검토하고 적응하는 활동이며, 스프린트 회고스프린트 과정에 대해 검토하고 적응하는 활동이다. 제품 책임자, 개발 팀, 스크럼 마스터가 모두 모여 지난 스프린트 동안 잘한 점, 부족한 점들을 논의하여 개선사항을 다음 스프린트에 반영함으로서 더 훌륭한스크럼 팀을 만드는 과정이라 볼 수 있다.

This post is licensed under CC BY 4.0 by the author.

[React] Virtual DOM

[에센셜 스크럼]] Chapter3-애자일 원칙