스크럼
기술노트
scrum
스크럼은 애자일(Agile) 개발 방법론을 실천하기 위한 가장 대표적인 프레임워크 중 하나입니다. 럭비 경기에서 선수들이 함께 스크럼을 짜서 공을 차지하기 위해 협력하는 모습에서 유래했으며, 소규모의 팀이 짧은 주기의 개발(스프린트)을 반복하여 제품을 점진적으로 개발해 나가는 방식입니다.
스크럼은 복잡한 문제에 대한 적응과 협업을 강조하며, 정해진 역할과 규칙적인 이벤트를 통해 프로젝트를 체계적으로 관리합니다.
👥 스크럼의 3가지 역할
- 제품 책임자 (Product Owner, PO) : 개발할 제품에 대한 최종 책임을 지며, 제품의 비전을 설정하고 백로그(요구사항 목록)의 우선순위를 결정합니다. '무엇을(What)' 개발할지를 결정합니다.
- 스크럼 마스터 (Scrum Master, SM) : 스크럼 팀이 스크럼의 가치와 원칙을 잘 따르도록 돕는 조력자이자 코치입니다. 팀이 겪는 장애물을 제거하고, 스크럼 프로세스가 원활하게 진행되도록 돕습니다.
- 개발팀 (Development Team) : 실제 제품을 개발하는 전문가들로, 3~9명으로 구성됩니다. 개발팀은 PO가 결정한 백로그를 어떻게(How) 구현할지 스스로 결정하고 관리합니다.
🗓️ 스크럼의 5가지 이벤트
- 스프린트 (Sprint) : 1~4주의 짧은 개발 주기. 이 기간 동안 개발팀은 실행 가능한 제품 증분(Increment)을 만듭니다.
- 스프린트 계획 (Sprint Planning) : 스프린트를 시작하기 전에, 이번 스프린트에서 어떤 작업을 할지 계획하고 목표를 설정합니다.
- 데일리 스크럼 (Daily Scrum) : 매일 정해진 시간에 15분 이내로 진행하는 짧은 회의. 어제 한 일, 오늘 할 일, 장애물을 공유하며 팀의 진행 상황을 동기화합니다.
- 스프린트 리뷰 (Sprint Review) : 스프린트가 끝날 때, 개발된 제품 증분을 이해관계자들에게 시연하고 피드백을 받습니다.
- 스프린트 회고 (Sprint Retrospective) : 스프린트 리뷰 후에, 스크럼 팀이 모여 이번 스프린트 과정에서 좋았던 점과 개선할 점을 논의하고 다음 스프린트를 더 잘하기 위한 계획을 세웁니다.
💡 기술사 핵심 Point
- 스크럼은 짧은 주기의 반복과 점진적인 개발을 통해 불확실한 요구사항에 효과적으로 대응합니다.
- 투명성(Transparency), 검토(Inspection), 적응(Adaptation)이라는 세 가지 원칙을 기반으로 합니다.
- 데일리 스크럼은 진행 상황 보고 회의가 아니라, 팀의 협업과 문제 해결을 위한 동기화 회의입니다.
- 많은 IT 기업들이 스크럼을 채택하여 사용하고 있으므로, 개발자로서 스크럼의 용어와 프로세스를 이해하는 것은 협업에 큰 도움이 됩니다.