'SW의 Agility 강조'에 해당되는 글 1건

1. XP (extreme Programming)의 개요

 1-1. XP (extreme Programming)의 정의

   - 짧은 개발주기 반복(Iteration)을 통해 고객이 원하는 핵심적인 기능을 우선 구현 함으로서 프로젝트의 위험을 줄이는 프로그래밍 중심의 소프트웨어 개발방법론

 1-2. XP (extreme Programming)의 특징

  1) 신속한 피드백 : 개발자가 짧은 단위로 고객의 피드백을 받아서 고객의 요구 반영 확인 

  2) 단순함을 전제 : 현재의 문제에 집중해서 작업하고 미래의 일에 대해 걱정하지 않음

  3) 점진적인 수정 : 문제를 풀 때의 과정은 작은 교정의 연속

  4) 변화의 인정 : 변경 및 변화는 당연히 발생하는 것이라 인정함

  5) 고품질의 작업 : 선 테스트 후 프로그래밍 방법(TDD)으로 테스트의 중요성 강조

 

2. XP (extreme Programming)의 핵심 가치와 실천항목

 2-1. XP (extreme Programming)의 핵심 가치

  1) 용기 : 고객의 요구사항 변화에 능동적인 대처

  2) 단순성 : 부가적 기능, 사용되지 않는 구조와 알고리즘 배제

  3) 커뮤니케이션 : 개발자, 관리자, 고객 간의 원활한 의사소통

  4) 피드백 : 지속적인 테스트와 통합, 반복적 결함 수정, 빠른 피드백

 

 2-2. XP (extreme Programming)의 실천항목

구분 실천항목 설명
계획 Planning Game 유저 스토리 이용, 개발 계획을 빠르게 수립
분석 / 설계 On-Site Customer 개발 효율성을 위해 고객을 프로젝트에 상주시킴
Simple Design 가능한 가장 간략한 디자인 상태 유지
Metaphor 최종적으로 개발되어야 할 시스템의 구조 기술
구현 Refectoring 프로그램 기능은 변경 없이 중복/복잡성 제거
Pair Programming 두 사람이 함께 프로그래밍(driver/partner)
Continuous Integration 한 작업이 끝날 때 마다 지속적으로 통합하고 동시 테스트
테스트 Testing 개발자가 먼저 단위 테스트, 실제 코드를 작성하기 전에 먼저 작성함으로써 자신이 무엇을 해야 하는지 스스로 깨우침
배포  Small Release 필요한 기능만을 갖춘 간단한 시스템을 빠르게 릴리즈
환경 40hour Week

주 40시간 이상을 일하지 말도록 규칙을 정함 (2주를 연속으로 오버타임 하지 않도록 함)

Code Standard 팀원간 협업을 위해 코드가 표준화된 관례에 따라 작성됨
Collective Ownership 팀의 모든 프로그래머가 소스코드에 대한 공동 책임

 

3. XP (extreme Programming)의 개발 프로세스

 

 1) 사용자 스토리
    - 사용자 요구사항/UML의 유즈케이스와 같은 목적

 2) 스파이크
   - 어려운 요구사항 혹은 잠재적인 솔루션들을 고려하기 위해 작성하는 간단한 프로그램

 3) 배포계획
   - 전체 프로젝트에 대한 배포 계획 생성

 4) 반복
   - 하나의 반복을 1~3주 정도로 나누고 반복들을 프로젝트 전반에 균일하게 유지

 5) 인수테스트
- 고객은 제대로 작동하는 시스템을 보면서 진척사항을 확인하고 이 시스템이 자신이 직접 명세한 테스트를 통과했는지 파악

 6) 작업배포
- 소규모로 빈번하게 배포하여 고객에게 이득 조기 제공

'1. IT Story > Basic Studies' 카테고리의 다른 글

CI(Continuous Integration)  (0) 2019.06.21
ATDD(Acceptance Test Driven Development)  (0) 2019.06.20
SEM(Strategic Enterprise Management)  (0) 2019.06.19
TDD (Test Driven Development)  (0) 2019.06.18
Agile 개발방법론  (0) 2019.06.16
CBD(Component Based Development)방법론  (0) 2019.06.14
객체지향방법론  (0) 2019.06.13
정보공학방법론  (0) 2019.06.12
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,