XP(Extreme Programming)
XP(Extreme Programming)
익스트림 프로그래밍(Extreme Programming, XP)은 변화하는 고객 요구사항에 대한 소프트웨어 품질과 대응성을 향상시키기 위한 소프트웨어 개발 방법론이다.
Value
익스트림 프로그래밍은 처음에 커뮤니케이션, 단순성, 피드백, 용기라는 네 가지 가치를 인식했다. 존중이라는 새로운 가치가 Extreme Programming Descripted의 두 번째 판에 추가되었다.
1. 소통(Communication)
소프트웨어 시스템을 구축하려면 시스템 개발자에게 시스템 요구사항을 전달해야한다. 공식 소프트웨어 개발 방법론에서 이 작업은 문서를 통해 수행된다. 목표는 모든 개발자에게 시스템 사용자가 보유한 보기와 일치하는 시스템의 공유 보기를 제공하는 것이다.(고객과 개발자의 의사소통)
2. 단순성(Simplicity)
익스트림 프로그래밍은 가장 간단한 솔루션부터 시작하는 것을 권장한다. 그런 다음 나중에 추가 기능을 추가할 수 있다.(가장 효율적인 디자인이나 코딩을 하는 것)
3. 피드백(Feedback)
피드백을 통해 빠른 의사결정
시스템으로부터의 피드백: 유닛 테스트 또는 주기적 통합 테스트를 작성함으로써 프로그래머는 변경사항 구현 후 시스템 상태로부터 직접적인 피드백을 받는다.
고객의 의견: 기능 테스트는 고객과 테스터에 의해 작성
팀의 피드백: 고객이 새로운 요구사항을 제시하면 팀은 구현에 걸리는 시간을 직접 예측
4. 용기(Courage)
자신감있게 변화를 수용하여 쓸모없는 것을 제거하고 고객요구에 능동적으로 대처
5. 존경(Respect)
프로그래머는 컴파일을 중단시키거나 기존 장치 테스트를 실패하게 하거나 동료의 작업을 지연시키는 변경 사항을 해서는 안된다. 높은 품질과 최상의 디자인을 추구하기 위해 서로를 존중해야 한다.
기본원리
익스트림 프로그래밍은 4가지 영역으로 분류된 12가지 원리를 포함
Fine-scale feedback
- Pair programming
- Planning game
- Test-driven development
- Whole team
Continuous process
- Continuous integration
- Refactoring or design improvement
- Small releases
Shared understanding
Programmer welfare
eXtreme 프로그래밍 단계
계획 → 분석 → 디자인 → 실행(코딩 및 테스트) → 랩핑(데모 및 리뷰) → 폐쇄(생산시작 및 생산시작)
'컴퓨터 | IT' 카테고리의 다른 글
스크럼(Scrum) (3) | 2021.02.08 |
---|---|
애자일 방법론(Agile) (3) | 2021.02.07 |
시스템 개발 수명 주기(System Development Life Cycle : SDLC) (2) | 2021.02.05 |
객체 지향 프로그래밍 (3) | 2021.02.04 |
소프트웨어 개발 모델 : 나선 모델(Spiral model) (3) | 2021.02.03 |
댓글