스크럼(Scrum)
애자일 기반 모형으로 스스로 팀을 구성하고 모든 것을 스스로 해결. 팀의 중요성을 강조하며 럭비 경기에서 양 팀이 서로 대치해 있는 대형에서 유래.
- 제품 책임자 - 백로그 작성
- 스크럼 마스터 - 객관적인 시각에서 스크럼 진행을 이끌어가는 역할
- 개발팀(나머지 모든 팀원) - 개발자, 디자이너, 테스터 등
개발 프로세스
- 스프린트 계획 회의
- 스프린트
- 일일 스크럼 회의
- 스프린트 검토 회의
- 스프린트 회고
XP(eXtreme Programming)
고객 요구사항에 유연하게 대처하기 위해 고객 참여와 개발 과정의 반복을 통해 개발 생산성을 향상시키는 것이 목적
핵심 가치 5가지
- 의사소통(Communication)
- 단순성(Simplicity)
- 용기(Courage)
- 존중(Respect)
- 피드백(Feedback)
개발 프로세스
- 사용자 스토리 - 요구사항을 간단한 스토리로 표현
- 릴리즈 계획 - 부분 혹은 전체 개발 완료 시점에 대한 일정 수립
- 스파이크 - 요구사항의 신뢰성을 높이기 위해 만드는 프로그램
- 이터레이션 - 릴리즈를 세분화
- 승인검사 - 이터레이션 안에서 릴리즈 단위의 부분완료 제품이 구현되면 수행하는 테스트
- 소규모 릴리즈 - 고객의 반응을 기능별로 확인해 요구사항에 대처하기 위해 진행
XP의 원리
- 짝 프로그래밍(Pair Programming)
- 공동 코드 소유(Collective Ownership)
- 테스트 주도 개발(Test-Driven Development)
- 전체 팀(Whole Team)