- XP Programming
- 정의
- 수시로 발생하는 요구사항 반영을 위해 개발 과정의 반복을 통한 lightweight 개발 프로세스
- 각 Iteration 에 맞는 XP Practices 를 극대화(extreme)하여 작업하여 효과 극대화하는 방법
- 특징
- Short Release Cycle (1~4 weeks) & high priority task first --> 일정 준수 & Requirement Change 줄어듬
- stakeholder 가 직접 task priority, Test 등 관여하여 팀의 participant 가 됨
- CI/CD 를 통한 auto test & deploy
- XP Practices
- XP 을 구성하는 요소로 서로 연관되어 있음
- The Planning Game
- Game 처럼 Story card 형식 (짧은 시나리오) 으로 requirement 작성
- Scope, Priority, Release Schedule 설정 (Business)
- requirement에 대한 Estimation, Specification 작업 및 Development Schedule 설정 (Development)
- Simple Design
- current requirement에 충족하는 수준의 Design 작업 (Not 미래를 예측하는 Design)
- Test-Driven Development
- 개발 전에 테스트 시나리오를 작성하여 요구 사항 가시화 및 명확화
- Customer Involvemenet
- stakeholder 가 test 등에 직접 참여
- On-site Customer
- Test Automation
- Pair Programming (짝프로그래밍)
- 서로 크로스 체크를 하며 코드 개발을 통해 품질 향상
- Small Releases (소규모 릴리즈)
- 릴리즈 기간을 짧게 잡아 요구 사항에 반영 속도 향상
- Refactoring
- Well-structured & Clear code 와 architecture 기반이어야 변경이 용이
- Collective Ownership
- Everybody takes responsibility for the whole of the system
- Continuous Integration (CI)
- 최소 매일 Code 통합 및 Test 진행
- 프로세스 단계
- 사용자 스토리 (User Story)
- 고객의 요구사항 및 테스트 시나리오 작성
- 릴리즈 계획 수립 (Release Planning)
- 기능 및 전체 개발에 대한 계획 수립
- 스파이크(Spike)
- risk를 줄이기 위해 Iteration 들어가기 전에 사전 개발 및 테스트 진행
- 주기(Iteration)
- 릴리즈를 세분화한 단위
- 1~4주 정도의 기간으로 진행
- 이 기간에 새로운 스토리가 작성되면 다음 Iteration에 추가
- 인수 테스트(Acceptance Test)
- User Story에서 작성된 테스트 시나리오를 기반으로 테스트
- 테스트 중 생긴 결함은 다음 Iteration 에 추가
- 테스트 완료 시, 다음 Iteration 진행
- 사용자 스토리 (User Story)
반응형
'소프트웨어공학' 카테고리의 다른 글
[요구사항분석론] Requirement Management (0) | 2022.04.20 |
---|---|
[소프트웨어공학] 소프트웨어공학(Software Engineering) (0) | 2022.04.18 |
[소프트웨어공학] Agile Process Model - 스크럼(Scrum) 기법 (0) | 2022.04.10 |
[소프트웨어공학] 프로세스(Process) & 프로세스 모델(Process Model) (0) | 2022.03.30 |
[소프트웨어공학] 소프트웨어 생명 주기(Software Life Cycle) (0) | 2022.03.28 |