Sprint는 "전속력으로 달리다.", "전력질주"라는 뜻으로 이를 개발 프로세스 DevOps에 입혀 기민성을 높일 수 있다.
스프린트 계획(Sprint Planning)
- 준비물 : 제품 백로그 목록, 인덱스 카드, 네임펜, 플래닝 포커
- 스프린트(Sprint) 또는 이터레이션(Iteration) 이라는 한정된 기간 동안 수행할 스프린트 목표와 이를 이루기 위한 작업 상세 내역을 정하는 과정
- 스프린트 동안 수행할 작업을 목록화 한 스프린트 백로그(Sprint Backlog)로 관리
일일 스크럼 (Daily Scrum)
- 매일 15 ~ 20 분간 프로젝트 진행상황을 공유하는 회의
- 모든 팀원이 참석하며 각자가 어제 한 일, 오늘 할 일, 문제점/이슈 등을 공유
스프린트 리뷰(Sprint Review)
- 스프린트 종료 시점에 목표를 달성했는지 작업 진행 결과물을 확인하는 회의
- 결과서를 작성하여 데모에 대한 피드백을 고객과 공유한다.
스프린트 회고(sprint Retrospective)
- 하나의 스프린트 동안 팀이 일해온 방식과 결과물에 대해 함게 이야기 하면서 개선할 점을 찾고, 다음 스프린트에서 보다 나은 팀이 되기 위해 개선 사항을 적용하는 실천법
- 스프린트 회고 순서
- 체크인/회고 준비하기 →데이터 모으기 → 통찰 이끌어내기 → 무엇을 할지 결정하기 → 회고 마무리하기
- 불평이 가득한 회고는 금지
- 도출된 문제점이 해결되지 않고 방치되는 경우
Scrum 환경구성
- Scrum을 진행하기 위한 기본 환경 구성
주의사항
관리도구로서의 애자일은 금지
소스 및 테스트코드 작성
- 소스 코드를 작성하고 단위 테스트 툴로 즉시 검증한다.
코드검토(Code Review)
- 개발자가 작성한 코드를 다른 개발자가 정해진 방법을 통해 검토하여, 코드 결함을 줄이고 코드 품질을 높이는 개발 방법
- 결함이 획기적으로 감소한다
- 초기에 결함을 발견함으로써 미래의 결함 해결 비용을 줄일 수 있다.
- 팀원들이 새로운 관점으로 사고하고, 개발 스킬을 향상시키고, 좋은 코딩 스타일을 학습하는 기회가 된다.
짝 프로그래밍(Pair Programming)
- 두 명의 작업자가 짝(Pair)을 이루어 한 개의 PC를 공유하며 작업하는 방법
- 짝은 작업을 진행하는 “드라이버(Driver)”와 직접 작업하지 않고 목표와 방향을 점검하며 드라이버의 작업을 검토하며 리드하는 “네비게이터(Navigator)”로 구성됨
소스 통합 빌드
- 직속적으로 소스코드를 컴파일 테스트, 검사, 배포하는 처리과정을 말함
- 형상관리 저장소에 변경이 발생되면 자동으로 감지하여 빌드가 실행되게 구성한 환경
소스정적 분석
- 소스코드를 표준에 따른 점검 규칙을 설정하여 지속적으로 점검
- 코드 사이즈, 중복도, 복잡도 등의 정보 제공하여 잠재 결함을 선제적 대응 가능
자동화 UnitTest
- 단위 테스트 자동화와 개발품질을 가시화하여 잠재 결함의 제거 및 소스품질개선을 유도
기능 테스팅(functional Testing)
- 매 스프린트 마다 개발자가 개발한 제품 증분(Increment) 단위로 테스팅하는 방법
주의 사항
- 공식적으로 최소 1일 1회 이상 빌드 할 것
- 테스팅을 마치지 않고 다음 스프린트로 넘어가는 경우