익스트림 프로그램(XP, eXtreme Programming) 이라는 방법을 소개 해 봅니다.
많은 사람들이 "프로그래머들이 정말 원하는 방법"이라고 하는 XP는 90년대 말에 등장했으며 두 명으로 구성된 조그만 회사에서
포드 자동차에 이르기까지 다양한 규모의 회사에서 쓰이고 있습니다. XP의 가장 큰 장점은 막판에 스펙이 변경되는 일이 있어도
고객이 원하는 것을 고객이 원하는 기한에 맞춰서 제공할 수 있다는 점입니다.
XP는 서로 조화롭게 쓸 수 있도록 계획된 일련의 규칙이 있습니다.
물론, 그 가운데 일부만을 채택하고 있는 프로그래머도 많이 있긴 하죠. 이런 규칙에는 다음과 같은 것들이 있습니다.
1. 조금씩, 하지만 자주 발표한다.
2.사이클을 반복해서 돌리면서 개발한다.
3.스펙에 없는 것은 절대 집어넣지 않는다.(아무리 그 기능이 나중에 쓰일 것 같은 느낌이 들어도 그러지 않는 것이 좋다)
4. 테스트 코드를 먼저 만든다.
5. 야근은 하지 마라. 항상 정규 일과 시간에만 작업한다.
6. 기회가 생기는 족족 어디서든 코드를 개선한다.
7. 모든 테스트를 통과하기 전에는 어떤 것도 발표하지 않는다.
8. 모든 일을 단순하게 처리한다.
9. 두 명씩 팀을 편성하고 모든 사람이 대부분의 코드를 알 수 있도록 돌아가면서 작업한다.
- Head First Java 의 P137 에서
기대효과:
1. 팀원이 서로 각자 진행을 알수 있다.
2. 소스리뷰를 하면서 팀원의 코딩 스타일이나 실력 격차를 줄일 수 있다.
3. 팀원중 퇴사가 발생하거나 갑작스런 일로 인해 담당자가 업무 진행이 어려운 경우 다른 팀원이 보다 유연하게 처리 할 수 있다.
4. 소스가 보다 정리가 잘 되게 되고 유지보수가 용이하다.
5. 버그를 줄인다.
6. 소스코드의 충돌과 같은 문제 발생 시 다른 팀원의 소스를 처음 부터 분석해야 하는 비용을 줄인다.
7. 업무효율증가로 팀원의 실수 최소화.
8. 프로젝트 기간 단축
9. 행복감 증가, 애사심 증가로 퇴사율 감소. 직원의 장기근속으로 회사이익 최대화.