XP 개방방법론

2009.10.03 21:09

comphy 조회 수:24731

1. 코딩보다 테스트를 먼저 하는 방법론 XP(eXtreme Programming)

  가. Xp(eXtreme Programming)의 정의

    -  소프트웨어를 개발하기 위한 가볍고 효율적이며 낮은 위험도를 가진 방법론

    -  고객이 원하는 소프트웨어를 고객이 원하는 시간에 인도 하기 위하여 고안

  나. XP의 특징

    - 유연하며 프로젝트에 대한 예상도 가능

    - 소프트웨어 라이프사이클 후반이라도 요구사항 변경에 대해 용기 있게 대처

      하도록 격려

    - 변화에 대한 비용 모델을 바꾸고(cost of change) 을 바꾸고 리팩토링이나

      테스트 중심 개발 같은 기술적 개념을 강조하는 새로운 관점을 제시

  다. XP에서 제시하는 4가지 핵심 가치

Communication

 - 적절한 커뮤니케이션

 - 단체 테스트, 페어 프로그램밍

Feedback

 - 프로토타이핑을 통한 즉각적인 피드백

Simplicity

 - 단순화 하고 수정이 편리

Courage

 - S/W 개발과정의 변경을 과감히 수용하는 용기

 

 

2. XP 프로세스 및 기본원리

  가. 프로세스

이미지를 클릭하시면 원본크기로 보실수 있습니다.


 

 

 

.사용자스토리

 - UML의 유스 케이스와 같은 목적

 - 배포 계획에 대한 시간 계산에 사용되기도 하며 요구사항 문서 대신 가능

 - 시스템을 사용하는 고객이 필요한 것이 무엇인지 기술 -> 인수테스트에 사용

스파이크

 - 잠재적인 솔루션들을 고려하기 위해 작성하는 간단하 프로그램

 - 사용자 스토리의 신뢰성 증대 또는 기술적인 문제의 위험성 감소에 사용

배포계획

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

 - 의사결정을 하기 위해 프로젝트에 포함되는 모든 것들에 대한 규칙을 가짐

 - 규칙들은 프로젝트를 수행하기 위한 방법들로 정의

반복

 - 반복적 개발에서는 민첩함을 중요하게 여김

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

 - Xp의 반복은 프로세스의 평가와 계획을 단순, 신뢰성 있게 만드는 핵심 항목

 - 즉각적인 계획과 실행은 사용자 요구 사항들의 변경에 쉽게 대처하기 위함

인수테스트

 - 고객은 제대로 작동하는 시스템을 보면서 진척사항을 확인하고

 - 시스템이 자신이 직접 명세한 테스트를 통과했는지 파악

작업배포

 - 작은 배포는 XP 주기의 마지막 단계

 - 소규모로 빈번하게 배포하면 고객에게 여러 가지 이득을 조기 제공

  -프로그램은 빠른 피드백을 제공 받음

 

나. XP의 기본원리

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

pair programming

 개발자가 짝을 이루어 프로그램 작성

Small Release

 작은 단위의 신속한 배포

테스트

 개발중 지속적인 테스트 수행

메타포

 요구사항을 다이어그램으로 명확화

공동책임

 개발된 코드에 대해 공동의 책임

주 40시간

 주 40시간 이내의 근무

 

 

 

 

3. XP의 기대효과 및 전망

  가.기대효과

계획측면

 - 팀이 개발한 SW의 가치를 최대화

 - 가능한 적게 투자, 가능한 빨리, 가능한 가장 가치 있는 기능 구현

설계측면

 - 의사소통을 통하여 설계, 중복된 코드가 없을 것 -> 가장 단순하게 개발

 - 가능한 클래스와 메소드 들은 적게 만들 것 -> 변경에 유연

개발 측면

 - 지속적인 통합, 수정, 테스트, 배포

 - 복잡한 코드 제거

 - 페어 프로그램으로 완벽한 코딩

테스트측면

 - 각 테스트는 다른 부분과 관련이 없어야 함 -> 테스트 자동화

 - 테스트 프로그램 만드는 주체는 프로그래머 함수 단위, 고객 스토리 단위

 

 

 

  나. XP의 전망

전망

설명

긍정적인 전망

 - 방법론 그 자체가 아니라 일부 기법이나 사상이 사용하기 매우 좋음

 - 중,소형 프로젝트에서 적용하기에 적합 -> 대형 프로젝트도 타스크

   단위로 적용 바람직

 - 아키텍쳐 설계 및 프로토타이핑 수립과 같은 태스크 수행 시 적합

부정적인 전망

 - 방법론 그 자체로서 적용하기에는 프로세스 정립은 부족함

 - 대형 프로젝트에서 적용하기에 적합하지 않음

 - 감리에 대한 대응의 어려움

 - 관리 방법에 대한 가이드라인이 부족함

 

 

 

<script> function hrefMark(){ } </script>

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED