스프린트 : 2~4주 정도 길이의 반복 주기
역할 Product Owner : 요구사항에 우선순위를 매겨 백로그에 추가하는 역할
Scrum Master : 프로세스 운영 담당. 일일 스크럼 회의를 열기도 한다.
프로세스
일일 스크럼 회의 : 날마다 진행되는 회의. 모든 팀원은 지난 스크럼에 한 일, 오늘 스크럼에 할 일, 목표 진행 과정에서 발생한 문제를 답해야한다.
스프린트 계획 : 스프린트동안 구현할 기능 정의
스프린트 리뷰 : 스프린트 결과 평가 및 분석
데모 : 스프린트 주기가 끝났을 때 시연할 결과물
익스트림 프로그래밍
의사소통, 단순성, 피드백, 용기, 존중을 핵심 가치로 갖는 방법론. 12가지 기본 원칙을 가지고 있다.
기본원칙
- 페어 프로그래밍 : 모든 코드를 2명이 짝을 이루어 개발한다. 한 사람이 코드를 작성하고 다른 사람은 코드를 검토한다.
- 진행하면서 계획 : 개발을 진행하면서 계획을 수정하고 보완한다.
- 지속적 테스트 : 실제 코드를 작성하기전 단위 테스트부터 작성한다.
- 고객 참여 : 고객와 개발팀이 의견을 주고 받아 요구사항을 명확히한다.
- 지속적 통합
- 수시로 리팩토링
- 조금씩 릴리스
- 코드 작성 규칙
- 코드 공유
- 간결한 디자인 : 당장 필요한 기능만 구현하고, 나중에 개선할 여지를 남긴다.
- 공통 메타포 : 모든 팀원이 멘탈 모델 혹은 이름을 공유해야한다.
- 최상의 작업 시간 : 프로그래머가 적절한 휴식을 취하도록한다. 주 40시간 이하를 권장한다.