-
애자일 소프트웨어 공학 중 하나.
-
원칙
개발 주기마다 적용할 기능이나 개선에 대한 목록 작성 (Backlog 작성)
신규 기능, 기존 로직 개선점 ( 즉 할일 ) 등에 우선 순위 부여
개발 주기는 30일 정도로 조절하고, 개발 주기마다 실제 동작하는 결과 제공
일일 15분 정도의 회의
항상 팀 단위로 사고
원할한 의사소통
-
추가 사항
조직을 작게 만들며, 자기조직적인 팀(스스로 지원해서 조직되는 팀)이면 더 좋음.
개발 사항은 1~2시간 단위로 가능한 작은 단위로 만드는 것이 좋음.
Sprint 결과를 리포트, 회고 함.
-
Scrum 팀 구성원의 추구 가치
확약 : 약속한 것은 확실히 실현한다.
전념 : 확약한 것에 전념.
정직 : 불리한 것도 숨기지 않는다.
존중 : 다른 사람에게 경의를 표함
용기 : 옳은 일을 할 수 있도록 팀원간 갈등과 도전을 통하며 작업할 수 있는 용기.
-
Scrum 프로세스 요소
제품 백로그 ( Product backlog )
요구사항 목록
스프린트( Sprint )
Iteration 주기
스프린트 계획 회의 ( Sprint Planning Meeting )
Iteration 안에서 백로그로부터 대상 선정, 개발, 사용자 테스트 시점을 협의
결과물에 대한 Iteration 완료시 모습 결정하고, 수행에 필요한 각종 요구사항을 Scrum Master 에게 보고하여 지원받도록 함.
스프린트 백로그 ( Sprint Backlog )
스프린트 계획회의를 통해 정리된 작업의 목록
일일 스크럼 회의 ( Daily Scrum Meeting )
스프린트 백로그에서 오늘 완료한 목록을 팀원들과 공유하고 목록에서 삭제하는 절차
실행 가능한 제품 개발 ( Shippable Product )
일일 스크럼 회의를 통해 완료되는 목록을 만들기 위해 작업 목록의 크기는 최장 4시간 내로 완료가능한 수준으로 세분화.
제품 책임자 ( Product Owner )
프로젝트 관리자, Product Backlog 를 정의하며, 우선순위를 결정하는 사람
이해관계자로부터 프로젝트 지원을 받아내는 역할도 큼.
스크럼 마스터 ( Scrum Master )
스크럼 팀원들에 대한 코칭의 역할이 강조됨.
-
Scrum 진행 시 주의사항
일의 내용을 1~2시간 단위로 구성하는 것이 좋음.
일일단위로 결과를 정리해야 효율이 좋음.
지금 당장 할 수 있는 일을 즉시 실행하고, 가장 빠르게 끝나는 작업을 팀원들이 할 수 있도록 팀 문화를 만들어야 함.
-
실무자(개발자)의 구체적 적용 방법
1. 매일 아침 10~15분 가량 익일과 금일에 대한 각자의 진행 업무에 대한 스탠딩 미팅을 한다.
이는 Project Owner 가 주도한다.
HotFix, 우선순위 변경, 문제 사항 확인, Bottleneck 확인 등을 한다.
변경된 요구사항 등도 확인한다.
2. 포스트잇으로 Backlog ( task ) 를 관리한다.
화이트 보드에 TODO, Doing, Done 섹션으로 나눈다. ( 다른 형태 혹은 세분화된 형태도 가능 )
일을 작은 조각으로 나누고, 포스트잇에 각 항목을 기입하여 벽에 붙인다.
포스트잇들을 상태에 따라 섹션에 부착한다.
각 포스트잇에는 일정(Man day)를 기입하라.
해당 항목을 완료하는 데 소요된 평균 시간을 측정하고 기입하라.
3. 화이트 보드의 한편에는 스프린트 목표에 대한 그래프와 예외사항 섹션을 작성한다.
전체적인 일정 관리를 알기 위해 시간(x축), Manday(y축) 을 구성하는 그래프를 추가한다.
계획에 없던 추가된 일과, 다음으로 미뤄야 하는 일 등에 대한 섹션을 두어 예외사항을 관리한다.
-
정리하면..
Scrum 은 애자일 방법론 중 하나로, 개발주기를 짧게 가져가며 해당 개발주기( Sprint 라 부름 )마다 가시화된 Product 를 볼 수 있게 하는 효율적인 개발 방법.
Scrum 은 Scrum 방법론에 대한 전체적인 관리를 하는 Scrum Master 와 프로젝트를 관리하며 Resource 적 지원을 해주는 Product Owner ( 일명 PM ) 가 필요.
요구사항을 분석하여 Task 들을 나눔 ( Scrum 에서는 이 Task 를 Backlog 라 부름 )
Backlog 들에 우선순위를 부여하고, Sprint (개발주기) 당 가시화된 Product 를 고려하여 이번 Sprint 에 적용할 Backlog 들을 추림.
화이트보드를 준비. 화이트보드에는 TODO, Doing, Done, 스프린트 목표 그래프, 예외사항 섹션을 준비.
Backlog 들을 더 잘게 쪼개 일정과 함께 포스트잇에 작성하여 화이트 보드의 TODO 에 붙임. ( 1~2시간 내에 끝낼 수 있는 Task 단위로 쪼개는 것이 좋다. )
아침에 10~15분 스탠딩 회의(꼭 스탠딩일 필요는 없음)를 통해 현재 상황들에 대해 간단히 공유하고, 오늘 할 일을 정해 포스트잇을 Assign, 스프린트 목표 그래프 업데이트.
위와 같이 자율적이고 능동적으로 개발방법론 적용을 위해서는 구성원들의 참여도가 높아야 함. ( 자발적 구성 조직일수록 좋다. )
그리고 솔직해야 하며, 실력도 출중 ( 혹은 상호 파악 ) 해야 좋다.
끝
'프로그래밍 놀이터 > Tips' 카테고리의 다른 글
Legacy Code 와 효율적으로 일하기 (0) | 2022.12.26 |
---|---|
Open Source Software License 들 간단 정리 (0) | 2020.12.25 |
[git] Git Prune 에 대해 알아보자 (0) | 2020.03.06 |
[git] git pull error : remote ref is at xxx but yyy expected (0) | 2020.03.05 |
[git] fetch 하기 & pull 하기 (0) | 2020.03.04 |
댓글