18. 지금까지의 개발 방법론으로는 문제가 해결되지 않습니다.
!
그 때,
소프트웨어 개발 전반에 걸쳐 새로운 바람이 불었습니다.
19. 애자일 소프트웨어 개발 선언
!
우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의
더 나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었
다:
!
공정과 도구보다 서로의 상호작용을
포괄적인 문서보다 작동하는 소프트웨어를
계약 협상보다 고객과의 협력을
계획을 따르기보다 변화에 대응하기를
!
가치 있게 여긴다. 이 말은, 왼쪽에 있는 것들도 가치가 있지만, 우리는 오른쪽에 있는 것
들에 더 높은 가치를 둔다는 것이다.
20. 게임에 빗대자면,
!
재미있는 게임을 만들기 위해 변화를 적극적으로 수용하고
더 많은 대화로 서로 협력하며 문서를 작성하기 보다 실제
로 작동하는 게임을 만들어 확인하자.
21. 애자일이 가져다 준 변화
!
!
생산성이 향상되었다 ..... 87%
원하는 시점에 시장에 내놓게 되었다 ..... 86%
버그가 없어졌다 ..... 86%
비용이 절감되었다 ..... 63%
!
!
http://www.versionone.com/pdf/stateofAgiledevelopmentsurvey.pdf
27. 제일 먼저 해야 할 것은 ‘프로토타이핑’입니다.
!
이 아이디어가 정말 괜찮을까?
머리속에 머물던 궁금증을 실제로 풀어보는 과정입니다.
!
프로토타이핑이 성공하면 드디어 프로젝트가 킥오프됩니다.
28. 게임이 갖출 기능들을 모아봅니다.
!
- 브레인스토밍처럼 추상적인 단계가 아니에요.
- 기능을 구현하는데 걸리는 시간도 예측합니다.
- 기능을 목록Product Backlog으로 정리해보세요.
PLANNING
29. 출시일을 계산합니다.
!
- 예측한 시간들을 모두 더합니다.
- 시간의 압박, 자금의 한계로 출시일을 당겨야 한다면,
- 낮은 우선순위의 기능들을 제거합니다.
FINAL
30. 릴리즈를 구상합니다.
!
- 완전한 형태의 결과물들을 만들어 내는 시점입니다.
- 마일스톤으로 불리기도 합니다.
- 각 릴리즈의 기능을 목록Release Backlog으로 정리해보세요.
REL1
REL2
ALPHA
CBT
OBT
FINAL
31. 릴리즈를 스프린트로 쪼갭니다.
!
- 스프린트는 짧게는 2주에서 길게는 1개월 정도로 잡습니다.
- 스프린트의 결과물은 완성된 형태로 동작하는게 중요합니다.
- ‘기능’을 ‘태스크’로 쪼개어 목록Sprint Backlog으로 정리합니다.
REL1
SP1
SP2
SP3
REL2
32. 스프린트 플래닝Sprint Planning
!
- 지난 스프린트의 결과를 토대로 기획을 수정합니다.
- 스프린트에 완성시킬 기능을 태스크로 쪼갭니다.
스프린트 플래닝
1 2 3 4 5 6 ...
SP1
SP2
33. 스프린트 리뷰Sprint Review
- 결과물을 테스트하고 피드백을 받습니다.
!
회고Retrospective
- 이번 스프린트에서 좋았던 점, 아쉬웠던 점을 이야기합니다.
- 다음 스프린트에서의 각오를 이야기합니다.
스프린트 리뷰 / 회고
1 2 3 4 5 6 ...
SP1
SP2
34. 스크럼은 매일마다 커뮤니케이션을 합니다.
!
- 매일 스크럼 회의를 합니다.
- 한 명씩 돌아가며 한일, 할일, 애로사항을 이야기합니다.
- 하고 있는 일을 이야기하는게 아니에요.
- 일정에 지장을 주는 애로사항은 바로바로 꺼내놓으세요.
1
SP1
MS1
2
35. 번다운 차트burndown chart
!
- 스크럼은 현재 작업의 진척 상황을 함께 공유합니다.
- 스크럼은 작업의 예측 완료 시각과 실제 완료 시각을 압니다.
- 예측에 비해 원활한지 문제가 있는지 쉽게 파악됩니다.
프로젝트 마감 시점에 남은 작업 시간이 0이 되는,
가장 이상적인 기울기입니다.
남은 작업 시간
(hour)
진행 일자
36. 번다운 차트burndown chart
!
- 팀의 역량에 비해 너무 과도한 일을 하고 있나요?
- 다음 스프린트에서는 일정 예측에 조금 더 신경 써봅시다.
남은 작업 시간
(hour)
진행 일자
37. 번다운 차트burndown chart
!
- 팀의 역량을 과소평가 한 건 아닌가요?
- 스프린트가 반복 될 수록 일정 예측은 점점 정밀해집니다.
남은 작업 시간
(hour)
진행 일자
38. 여기까지 스크럼이 어떤 방식으로 동작하는지 알아봤습니다.
그런데 잠깐 고민해봅시다.
!
!
!
!
!
!
!
!
스크럼은 우리에게 무얼 강조하고 있는건가요?
39. 스크럼이 추구하는 핵심 가치 세 가지를 다시 돌아봅시다:
!
- 원활한 커뮤니케이션
- 반복 개발
- 테스트 가능한 결과물
40. 침묵은 위기, 서로 좀 더 이야기를 많이 하자.
기획 변경을 두려워하지 말자.
항상 개발중 개발중 개발중 하지 말고, 실제로 돌아가는 게임을 만들어보자.
스크럼은 사실 이런 가치를 실현하기 위한 도구 일 뿐입니다.
41. 스크럼은 무엇이고 어떻게 하는 것인가를 알아보았습니다.
!
이번에는 스크럼이 프로젝트를 어떻게 변화시킬 수 있는지 살펴봅시다.
42. 나는 누구인가 여기는 또 어디인가
!
!
!
!
!
!
!
!
!
!
!
팀원 누구라도 내가 지금 어느 위치에 서있는지 알 수 있습니다.
비전은 언제나 모두에게 동일하게 공유되어야 합니다.
44. 야근 없이도 잘 굴러갑니다.
!
!
!
!
!
!
!
!
!
!
!
!
출시 전 철야 작업은 반드시 거쳐야 하는 통과 의례가 아닙니다.
지속적으로 출시에 포함 될 기능을 구상하고 일정을 쪼갭니다.
분할 정복Divide and Conquer은 일정을 준수하기 위한 효과적인 방법입니다.
45. 눈총받지 않고 기획을 변경합니다.
!
!
!
!
!
!
!
!
!
!
무턱대고 일정 중에 기획을 변경하면 팀원들은 멘붕에 빠집니다.
기획의 변경은 스프린트의 결과물을 토대로 진행합시다.
팀원들의 공감을 받는 기획 변경은 프로젝트 성공의 청신호입니다.