반복형 모델의 개발주기를 짧게 구성하여 현업/개발자/관리자간 협업을 통하여 요구변경에 적극적 대응을 기반으로 하는 SW 개발방법
* 4가지 핵심가치 (용의단피) + 존중
* 12 프랙티스[개 폐공지, 구 간시리, 관 게메일, 기타]
페어 프로그래밍, 소스코드 공유, 지속적 통합
간략한 설계, 시험중심, 리팩토링
게임 계획, 메타포, 짧은 릴리즈
주 40시간, 고객상주, 코딩 표준
* SCRUM 과의 차이 (XP는 개발중심, SCRUM 은 프로젝트 관리중심)
SRITR
* 주요 구성요소
- 유저스토리 : 고객요구사항 (인수테스트시 사용)
- Spike : 리스크 식별 위해 간단히 작성한 프로그램
- Iteration : 주기적(1~3주) 반복
- 인수테스트 : 고객검증
- Small Release : 빠른 피드백
3. XP적용시 문제점 및 해결전략
- 위 Agile과 동일하게 작성
페어 프로그래밍(Pair programming)
정의 : 페어 프로그래밍은 두 프로그래머가 하나의 워크스테이션을 공유한다(두 명이 하나의 화면, 키보드, 마우스 사용). 키보드를 사용하는 프로그래머를 드라이버, 프로그래밍에 적극적으로 관여하지만 전체적인 진행 방향에 더 초점을 두는 다른 한 명을 내비게이터라고 한다. 두 프로그래머는 몇 분마다 한 번씩 역할을 교대한다.
효과적인 이유 : 페어 프로그래밍은 복잡한 작업을 진행하기 위해 고안된 방법이다. 신규 개발자를 온보딩할 때 지식을 전달하는 수단으로도 좋다. 페어 프로그래밍을 사용하면 전체적인 품질이 개선된다.
효과를 거두지 못하는 경우 : 페어 프로그래밍은 예를 들어 패턴이 이미 확립된 경우, 또는 값 객체를 만드는 등의 일상적인 작업에는 과도한 방법일 수 있다. 이러한 작업에 두 명의 프로그래머가 달라붙는 것은 비즈니스 비용을 사용하는 방법 측면에서 최선은 아니다. 또한 개발자에 따라서는 단독으로 작업할 때 훨씬 더 만족스럽게, 생산적으로 일하기도 한다. 그런 사람은 혼자 두는 것이 좋다. 필자는 페어 프로그래밍이 효과적일 때와 그렇지 않을 때에 대해 팀에 어느 정도의 자율성을 제공한다는 전제 하에 페어 프로그래밍을 지지한다.
(http://www.itworld.co.kr/news/109011
"BDD부터 TDD까지" 다양한 애자일 기법의 장단점 - ITWorld Korea
외부에서 보면 애자일은 한 가지 방식으로 보인다. 그러나 안으로 들어와서 보면 애자일 실천가들은 각자 다양한 방식에 전념해 작업을 한다. 어떻게 하면 나와 내 팀에 잘 맞는 기법을 찾을 수
www.itworld.co.kr
'02.SW' 카테고리의 다른 글
SW 개발 방법론 - 애자일 - 분산 애자일(Distributed agile) (0) | 2020.06.19 |
---|---|
SW 개발 방법론 - 애자일 - TDD (Test-driven development) (0) | 2020.06.19 |
SW 개발 방법론 - 애자일 - 스크럼 (Scrum) (0) | 2020.06.19 |
SW 품질 - TMM (0) | 2020.06.19 |
SDLC (0) | 2020.06.19 |