XP(eXtreme Programming)
: 일부 요구사항이 적용된 기능이 완성될 때마다 고객에게 보여주고 반응을 확인하는 과정을 최종 제품이 완성될 때까지 지속적으로 반복
▶ 릴리즈의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시성을 높임
▶ 5가지 핵심 가치 : 의사소통, 단순성, 용기, 존중, 피드백
# XP 개발 프로세스
- 사용자 스토리
: 고객의 요구사항을 간단한 시나리오로 표현
▶ 기능 단위 구성
- 릴리즈 계획 수립
: 부분 / 전체 개발 완료 시점에 대한 일정 수립
- 스파이크
: 요구사항의 신뢰성을 높이고 기술 문제에 대한 위험을 감소시키기 위해 별도로 만드는 간단한 프로그램
- 이터레이션
: 하나의 릴리즈를 더 세분화 한 단위
- 승인 검사
: 릴리즈 단위의 부분 완료 제품이 구현되면 수행하는 테스트
- 소규모 릴리즈
: 릴리즈를 소규모로 하게 되면 고객의 반응을 기능별로 확인할 수 있어 고객의 요구사항에 유연하게 대응 가능
# XP 주요 실천 방법
- Pair Programming 짝 프로그래밍
: 다른 사람과 함께 프로그래밍을 수행해 개발에 대한 책임을 공동으로 나눠 갖는 환경 조성
- Collective Ownership 공동 코드 소유
: 개발 코드에 대한 권한과 책임을 공동으로 소유
- Test-Driven Development 테스트 주도 개발
: 실제 코드 작성 전 테스트 케이스를 작성해 무엇을 해야 할지 파악
▶ 테스트가 지속적으로 진행될 수 있도록 자동화된 테스팅 도구 사용
- Whole Team 전체 팀
: 개발에 참여하는 모든 구성원은 역할이 있고 책임을 가져야 함
- Continuous Integration 계속적인 통합
: 개발된 코드들은 하나의 작업이 마무리 될 때마다 지속적으로 통합됨
- Design Improvement 디자인 개선 / Refactoring 리팩토링
: 프로그램 기능의 변화 없이 시스템 재구성(단순화 / 유연성 강화 등)
- Small Releases 소규모 릴리즈
: 릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응
'정처기(시나공)' 카테고리의 다른 글
Section 006. 요구사항 정의 (0) | 2022.01.01 |
---|---|
Section 005. 개발 기술 환경 파악 (0) | 2021.12.30 |
Section 004. 현행 시스템 파악 (0) | 2021.12.27 |
Section 002. 스크럼(Scrum) 기법 (0) | 2021.12.24 |
Section 001. 소프트웨어 생명 주기 (0) | 2021.12.23 |