티스토리 뷰
XP (eXtreme Programming)
•XP (ExtremeProgramming)은 AgileMethodology의 하나로, 소프트웨어 개발에 있어서 단순성(simplicity), 소통(communication), 피드백(feedback), 용기(courage)의 네가지 가치 추구를 통해, 고객의 비지니스 가치 실현을 최고의 목표로 하는 실천적인 개발 방법론이다.
•익스트림 프로그래밍(XP)은 애자일 소프트웨어 개발론(Agile Software Development)의 하나로, 단순성, 상호소통, 피드백,용기 등의 원칙에 기반해서 "고객에게 최고의 가치를 가장 빨리" 전달하도록 하는 경량 방법론이다. 요구사항 등의 변화가 자주, 많이 있거나 개발자가 소규모(10명 내외)이고 같은 공간을 사용하는 경우에 높은 효과를 볼 수 있다고 알려져 있다.
This flow chart shows how Extreme Programming's rules work together.
•이 방법은 비즈니스 상의 요구가 시시각각 변동이 심한 경우에 적합한 개발 방법이며 10~12개 정도의 구체적인 실천 방법(Practice)을 정의하고 있어, 비교적 적은 규모의 인원의 개발 프로젝트에 적용하기 좋다. 개발 문서 보다는 소스코드를, 조직적인 개발의 움직임 보다는 개개인의 책임과 용기에 중점을 두는 경향이 크다.
•나선형 시제품 과 마찬가지로 XP도 점증적 방법론
•The most surprising aspect of Extreme Programming is its simple rules ( 하기함 12가지 )
무엇이며 어떤 어려움이 있는지 고객에게 이해 시킴, 우선순위와 범위를 정하고 비용 견적
필요 요구사항을 향상시킴
그로 인해 생산성이 높고 지식 공유, 작업에 대한 만족도 증가
체계화 추구
상세화를 계속함
–지속적인 통합(Continuous Integration) : 수시 통합 구축을 통해 지속적인 검사하고 보완함
–개발자간의 서로에 대한 배려,이해심 배우려는 자세가 꼭 필요할 것 같다.
XP’s features
n프로그래머와 고객, 동료 프로그래머와의 의사소통을 중요시 함
•애자일 방법론과 구분되는 XP만의 특징에는 테스팅이 있다. XP는 프로그래머들이 코딩을 할때에 테스트 코드를 작성 하도록함과 동시에 테스트를 기반으로 프로젝트를 완성시켜 나가도록 한다. 또한 이러한 테스트에 기반을둔 프로젝트 발전 과정은 애자일 방법론의 기본 개념인 "반복적으로 프로토 타입을 고객에 전달 하므로써 고객의 요구사항 변화에 민첩하게 대응한다"를 실천 하는데에 큰 도움을 줄 수 있다. 왜냐하면 매번 프로토 타입을 고객에 전달함에 있어서 프로토 타입 자체로써 버그가 상대적으로 적은 완벽에 가까운 데모를 경험하게 해줄 수 있기 때문이다.
•예를 들어 축구 게임을 만든다고 치면 회사원 중에서 축구게임을 만들어본 사람이 있다면 굳이 에자일 방법중 xp방법을 사용할 필요는 없다고 생각한다. 폭포수방법으로 직진으로 가면 될 것이기 때문,,. 그리고 이러한 방법들도 물론 때에 따라 사용한다지만 무엇보다 나는 얼마만큼의 열정이 있는 개발자인지가 더 중요한 것 같다.,
'It' 카테고리의 다른 글
소프트웨어 공학 RAD 모델 (0) | 2023.02.13 |
---|---|
SW시스템의 3가지 관점 / 기능관점 / 동적관점 / 정보관점 (0) | 2023.02.12 |
BPSK (Binary Phase Shift Key) (0) | 2023.02.10 |
QPSK ( Quadrature Phase Shift Keying) (0) | 2023.02.09 |
MPSK (M-ary Phase Shift Keying) (0) | 2023.02.08 |