안녕하세요 이번 포스팅에서는 정보처리기사 "XP(eXtreme Programming)"에 대해 알아보겠습니다.
XP는 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법
짧고 반복적인 개발주기, 단순한 설계, 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하는 방법
릴리즈(~~버전)의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시성을 높인다.
XP의 5가지 핵심가치
의사소통 2. 단순성 3. 용기 4. 존중 5. 피드백
=> 피(피드백)존(존중)의 용기는 단순 + 의사소통
1) 릴리즈 계획 수립
부분 혹은 전체 개발완료 시점에 대한 일정을 수립
몇 개의 스토리가 적용되어 부분적으로 기능이 완료된 제품을 제공하는 것을 릴리즈라고 한다.
2) 이터레이션(주기)
실제 개발 작업을 진행하는 과정으로, 보통 1~3주 정도의 기간으로 진행된다.
3) 승인검사(인수테스트)
하나의 이터레이션 안에서 부분 완료 제품이 구현되면 수행하는 테스트
4) 소규모 릴리즈(출시)
요구사항에 유연하게 대응할 수 있도록 릴리즈의 규모를 축소한 것
XP의 주요실천방법
1) Pair Programming(짝 프로그래밍)
다른 사람과 함께 프로그래밍을 수행함(PC는 한 대인데 개발자는 2명이다)으로써 개발에 대한 책임을 공동으로 나눠 갖는 환경을 말한다.
드라이버 – 키보드 네비게이터
2) Collective Ownership(공동 코드 소유)
개발코드에 대한 권한과 책임을 공동으로 소유
3) Test – Driven – Development (테스트 주도 개발)
개발자가 실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성하고 자신이 무엇을 해야할지 정확히 파악한다.
테스트가 지속적으로 진행될 수 있도록 자동화된 테스팅 도구를 사용함
4) Whole Team(전체팀)
개발에 참혀하는 모든 구성원(고객포함)들은 각자 자신의 역할이 있고 그역할에 대한 책임을 가져야 한다.
5) Continuous Integration(계속적인 통합)
모듈 단위로 나눠서 개발된 코드들은 하나의 작업이 마무리 될 때 마다 지속적으로 통합
6) Refactoring(리팩토링)
프로그램의 단순화, 유연성 강화 등을 위해 기능의 변경없이 시스템을 재구성함
7) Small Releases(소규모 릴리즈)
릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응할 수 있다.
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 - 스크럼 (0) | 2023.04.22 |
---|---|
정보처리기사 - 소프트웨어 생명주기 (0) | 2023.04.21 |