- Scrum
- Kanban
- Lean
- Extreme Programming (XP)
- Feature Driven Development (FDD)
- Dynamic Software Development Method (DSDM)
스크럼은 애자일 소프트웨어 개발 과정의 하나로 다음과 같은 특성을 지니고 있음
제품 백로그(Product Backlog)
스프린트(Sprint)
스프린트 계획 회의(Sprint Planning Meeting)
스프린트 백로그(Sprint Backlog)
일일 스크럼 회의(Daily Scrum Meeting)
실행 가능한 제품(shippable product)
스크럼에서는, 30일간의 주기로 실제 동작하는 제품을 만들면서 개발을 진행하며, 권장기간은 30일 이지만, 스크럼 적응도 및 진행 상황에 따라 1주~4주의 유연성을 가짐.
상기 요소들을 아래와 같은 순서에 따라 사용하여 스크럼을 진행
제품에서 요구하는 기능과 우선순위를 제품 백로그로 정함
PO가 정한 제품의 우선순위에서 어디까지 작업을 할지 팀과 조율. 조율하여 선정된 제품 백로그가 이번 스프린트의 목표가 됨
스프린트 목표를 구현 가능 하도록 팀에서 스프린트 백로그를 작성한 뒤 작업을 할당
스프린트를 진행하는 동안, 매일 정해진 장소와 시간에 모든 개발 팀원이 참여하는 일일 스크럼 회의를 가짐
매회의 스프린트가 종료할 때마다, 스프린트 리뷰 미팅을 통해 만들어진 제품을 학습하고 이해
제품의 학습과 이해가 끝나면, 스프린트 회고를 통해 팀의 개발 프로세스에 대한 개선의 시간을 가짐
스프린트 기간 중 다음 스프린트를 준비 하기 위해 PO와 필요 인원이 모여 백로그를 준비하는 시간을 가짐
이러한 과정 뒤, 개발 팀원들은 주도적으로 스트린트 달성을 위한 작업을 자율적으로 정하며, 각 작업은 4~16시간 정도 소요가 되도록 정함
이를 통해 팀원들은 의사소통을 활발하게 주고 받게 되고 끈끈한 협업 체계를 가지게 됨
애자일 방법론 중 하나로, 비즈니스 상의 요구가 시시각각 변동이 심한 소규모 프로젝트에 적합한 개발 방법론
10~12개 정도의 구체적인 실천 방법(Practice)을 정의
짧은 주기로 여러번 고객에게 납품 반복
개발 문서 보다는 소스코드를, 조직적인 개발 보다는 개개인의 책임과 용기를 중시
User Stories, Architectural Spike ▶ Release Planning ▶ Iteration
▶ Acceptance Test ▶ Small Release
하나의 반복을 1에서 3주 정도로 나누고 반복들을 프로젝트 전반에 균일하게 유지
XP의 반복은 프로세스의 평가와 계획을 단순하고 신뢰성 있게 만드는 핵심 항목 → 반복 계획 미팅
사용자 요구사항 변경, 기술적인 문제 등 상황에 따라 릴리즈 및 반복 계획 수정 가능
소규모로 빈번하게 배포하면 고객에게 여러 가지 이득을 조기 제공
프로그램은 빠른 피드백을 제공 받음
Pair Programming
Planning Game
Test Driven Development
Whole Team
Continuous Integration
Design Improvement
Small Releases
Coding Standards
Collective Code Ownership
Simple Design
System Metaphor
Sustainable Pace
Scrum의 스프린트는 2~4주 간 지속되지만, XP는 더 짧음
Scrum은 스프린트 변경을 허용하지 않지만 XP는 반복 내 변경에 더 유연
Scrum은 엔지니어링 관행을 제시하지 않음
Scrum은 팀이 개발 우선순위를 결정하지만, XP는 고객이 우선순위를 결정