Process

스프린트(About Sprint)

큐범 2022. 5. 9. 00:46

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회 이상 빌드 할 것
  • 테스팅을 마치지 않고 다음 스프린트로 넘어가는 경우