본문 바로가기
정보처리기사

정보처리기사 : 스크럼과 XP

by 스노위13 2023. 3. 25.

* 스크럼

1. 스크럼 
- 정의 : 팀이 중심이 되어 개발의 효율성을 높이는 기법

2. 스크럼 팀 
1) 제품책임자(PO)
 - 요구사항이 담긴 백로그를 작성하는 주체
 - 이해관계자들 중 개발될 제품에 대한 이해도가 높고, 요구사항을 책임지고 의사를 결정할 수 있는 사람으로 선정
2) 스크럼 마스터(SM)
 - 스크럼 팀이 스크럼을 잘 수행할 수 있도록 가이드 역할을 수행
3) 개발팀(DT)
 - 제품책임자와 스크럼 마스터를 제외한 모든 팀원
 - 제품 개발을 수행

3. 프로세스 
1) 스프린트 계획 회의 : 제품 백로그 중 이번 스프린트에서 수행할 작업을 대상으로 단기 일정을 수립하는 회의
2) 스프린트 : 실제 개발 작업을 진행하는 과정, 보통 2~4주 정도의 기간 내에서 진행
3) 일일 스크럼 회의 : 매일 약속된 시간에 약 15분동안 진행 상황을 점검, 남은 작업 시간은 소멸차트에 표시
4) 스프린트 검토 회의 : 부분 또는 전체 완성 제품이 요구사항에 잘 부합하는지 테스팅
5) 스프린트 회고 : 정해놓은 규칙 준수 여부 및 개선점 확인과 기록
6) Product Backlog : 구현할 기능과 특성, 요구사항의 우선순위 나열
7) Sprint Backlog : 해당 Sprint 기간 동안 수행되어야 할 Task 

* XP

1. XP
- 정의 : 고객의 요구사항에 유연한 대응을 위해 고객 참여와 개발 과정 반복을 극대화
- 결과 : 개발 생산성 향상
- 특징 : 짧고 반복적인 릴리즈 기간, 단순 설계, 고객의 적극적 참여
- 핵심 가치 : 의사소통, 단순성, 용기, 존중, 피드백

2. 개발 프로세스
1) 릴리즈 계획 수립 : 부분 또는 전체 개발 완료 시점에 대한 일정 수립, 
 * 릴리즈 : 몇 개의 요구사항이 적용되어 부분적으로 기능이 완료된 제품을 제공하는 것
2) 주기(이터레이션) : 실제 개발 작업을 진행, 1~3주 정도의 기간
3) 승인 검사 : 하나의 주기 안에서 부분 완료 제품이 구현되면 수행하는 테스트
4) 소규모 릴리즈 : 요구사항에 유연한 대응을 위해 릴리즈의 규모를 축소한 것

3. 주요 실천 방법
1) 짝 프로그래밍 : 다른 사람과 함께 개발을 수행하여 책임을 나눠 가짐
2) 공동 코드 소유 : 개발 코드에 대한 권한과 책임을 공동으로 소유
3) 테스트 주도 개발 : 실제 개발 코드 작성 전에 테스트 케이스를 먼저 작성하여 무엇을 해야할지 명확하게 파악함, 자동화된 테스팅 도구(구조, 프레임워크)를 사용
4) 전체 팀 : 개발에 참여하는 모든 구성원(고객 포함)은 각자의 역할이 있고 책임을 가져야 함
5) 계속적인 통합 : 모듈 단위로 나눠져서 개발된 코드들은 하나의 작업이 마무리 될 때마다 지속적으로 통합됨
6) 리팩토링 : 프로그램 기능의 변경 없이 시스템 재구성, 프로그램을 쉽게 이해하고 쉽게 수정하여 빠르게 개발하기 위해서임
7) 소규모 릴리즈 : 릴리즈 기간을 짧게 반복하여 고객의 요구 변화에 신속히 대응함

댓글