[ XP 계획 ]

 XP에서는, 고객도 개발 팀의 한 사람이며 시스템 요구사항을 구체화 하고 우선순위를 정해줄 의무가 있다.

 요구사항은 시나리오나 유저스토리로 표현된다.

 스토리카드에 기록된 것은 개발팀에서 다시 task 단위로 분리한다. Task 별로 성과와 자원이 평가된다.

 고객은 개발 우선순위를 정하고 다음 배포에 포함할 스토리를 선택한다.

 

[ XP 배포 ]

 새로운 버전은 하루에 몇 번씩 만들어 질지도 모른다. 배포는 약 2주마다 고객들에게 전달된다(milestone)

 배포 마감날짜는 절대 미루지 않는다. 만약 개발에 문제가 발생하면 기능을 제거하고 배포한다.

 모든 새로운 버전은 테스트를 한 이후 승인하며 테스트 또한 성공적으로 기능이 실행되어야 한다. 모든 테스트는 실행 가능 해야 하고 자동적으로 이루어 진다.

 

[ XP 변경 ]

전통적인 소프트웨어 공학

XP

미래의 변동사항을 예상해야 하고 그러한 변화를 위한 설계를 해야 한다.

시간을 효율 적으로 사용하고 나중에 드는 비용을 줄이기 위해 변경사항을 예상한다.

변화에 대처하기 위해 프로그램에 보편성을 추가하기 위한 시간을 투자하지 않는다.

때때로 예상했던 변화는 일어나지 않고 예상했던 것과 완전히 다른 것이 나타난다.

-> 그러므로 XP는 개발 할 때 더 쉽게 변화를 줄 수 있도록 끊임없이 코드를 향상 시켜야 한다.

 

[ XP Refactoring ]

 반복적 개발이므로, 소프트웨어 구조를 망가뜨릴 경향이 있다. 따라서 변경하기가 갈수록 어려워진다.

 Refactoring 하면서 이러한 문제점을 해결 한다(?)

 - 개발 팀들은 가능한 코드 향상을 바라기 때문에 급하지 않은 상황에서도 코드향상을 시킨다.

 Ex) 속성과 함수의 이름 수정, 반복적인 코드 제거, 클래스 상속의 재조직..

 프로그램 개발 도구는 Refactoring을 도와준다.

  - 코드간 연관성을 찾아 주거나, 코드 수정을 도와준다.

 Refactoring은 소프트웨어의 이해성을 향상시키고 문서화의 필요성을 줄여준다.

 코드를 깔끔하게 구조적으로 만들었기 때문에 변경하기 쉬워진다.

 가끔 변경을 할 수 없는 경우에는 구조를 바꾸어야 한다.

 

[ XPTest ]

 XP는 프로그램 테스트의 중요성을 강조한다.

 XP에서, 프로그램은 각 변경사항을 적용 한 후 테스트된다.

 

댓글이나 공감 남겨주는 사람 착한사람

 

'학사 그리고 석사 > 소프트웨어공학' 카테고리의 다른 글

Pair Programming  (0) 2019.10.27
Extreme Programming Test  (0) 2019.10.27
Extreme Programming Practices  (0) 2019.10.25
Extreme Programming (XP)  (0) 2019.10.25
Plan-Driven vs Agile  (0) 2019.10.25

+ Recent posts