Agile의 의미와 Agile 계획 수립(Gdc2007)
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Agile의 의미와 Agile 계획 수립(Gdc2007)

  • 2,946 views
Uploaded on

GDC 2007에서 있었던 Agile Game Development Tutorial의 일부인 'Agile의 의미'와 'Agile 계획 수립'의 한글 번역입니다: ...

GDC 2007에서 있었던 Agile Game Development Tutorial의 일부인 'Agile의 의미'와 'Agile 계획 수립'의 한글 번역입니다:

강연자는 Mike Cohn으로, '사용자 스토리'와 'Agile Estimating and Planning'의 저자입니다.

Agile 개발에서 (사용자 스토리의) 일정을 추정하는 방법에 대해서 다루고 있습니다.
자세한 것은
http://betterways.tistory.com/177 참조

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,946
On Slideshare
2,920
From Embeds
26
Number of Embeds
3

Actions

Shares
Downloads
86
Comments
0
Likes
3

Embeds 26

http://betterways.tistory.com 24
http://www.slideshare.net 1
http://www.slideee.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1.  
  • 2. ‘ Agile 하다 .’ 는 것은 어떤 의미인가 ? (What it means to be agile)
    • 강연 : Mike Cohn , Mountain Goat Software
    • www.mountaingoatsoftware.com
    • 번역 : 김기웅 ( [email_address] )
    • betterways.wo.to
  • 3. 규정된 프로세스 (A defined process) 규정된 프로세스
      • 작업자는 모든 작업 (task) 을 완전히 이해한다 .
      • 규정된 입력이 주어지면 , 매번 같은 결과가 산출된다 .
  • 4. 게임 개발을 규정된 프로세스라고 할 수 있을까 ? (Is game development a defined process?)
    • 모든 업무를 완전히 이해하고 있는가 ?
      • 혹은 그 비슷하게라도 되어가고 있는가 ?
    • ( 인력을 포함해서 ) 정확히 같은 입력이 주어진다 .
      • 매번 같은 결과가 나올까 ?
      • 정확히 같은 입력이 주어지기는 하는가 ?
  • 5. Project noise level 단순함 혼란함 무질서 복잡함 기술 요구 사항 계약과 다름 계약과 같음 확실 불확실 Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. 프로젝트 잡음 수준 (Project noise level)
  • 6. 경험적인 프로세스 통제 (Empirical process control)
    • 다음과 같은 경우에 유용하다 :
      • 어떤 프로세스가 항상 같은 결과를 내놓을 것이라는 확신을 줄 수 없을 때
      • 복잡도나 잡음 수준이 아주 높아서 프로세스가 의도한 것과는 다른 결과물을 야기시킬 때
    • 예기치 않은 불상사를 예측한다 .
    • 수 차례 ‘시험하고 , 적용하는 과정 (inspection and adaptation)’ 을 통해 통제한다 .
  • 7. 경험적인 모형 (Empirical model) 프로세스 (Process) 통제 (Control)
    • 잠재적으로 배포 가능한 제품의 증가분
    출력
    • 요구사항
    • 기술
    • 개발팀
    입력
  • 8. 세 가지 핵심 단어 (Three key words)
    • 시험과 적용
    • (Inspect and Adapt)
  • 9. Agile 이란 무게 중심의 변화이다 (Agile is about shifting the balance) 적응 (Adaptation) 예측 (Anticipation) Agile
  • 10. Agile 선언문 (The Agile Manifesto) 절차와 도구 개인과 상호작용 작동하는 소프트웨어 고객과의 협력 변화에 대한 대응 포괄적인 문서 계약과 협상 계획에 대한 맹종 보다 보다 보다 보다
  • 11. Agile 계획 수립 (Agile Planning)
    • 강연 : Mike Cohn , Mountain Goat Software
    • www.mountaingoatsoftware.com
    • 번역 : 김기웅 ( [email_address] )
    • betterways.wo.to
  • 12. 상상해보세요 ...
    • 여러분은 소프트웨어 개발이 지긋지긋해져서 ,
    • 조경 사업에 뛰어 들기로 결정했습니다 .
    • 당신의 첫 번째 일은 앞뜰에 쌓인 이 자갈 더미를 뒷마당으로 옮기는 겁니다 .
  • 13. 얼마나 걸릴지 어떻게 알 수 있을까 ? (How might you estimate this?)
    • 한 가지 방법 :
      • 자갈 더미를 보고 손수레 대략 몇 대 분량일지를 추정한다 .
      • 한 시간 후 , 얼마나 옮겼는지를 확인해서 , 총작업 시간을 추정한다 .
    • 손수레로 80 대 분으로 추정 .
    • 한 시간 후 , 20 대 분을 옮김 .
    • 따라서 총 4 시간 이후 완료 예상 .
  • 14. 자갈 나르기 (My landscaping) 손수레 적재량 시간
  • 15. 2 2 3 3 3 2
      • 주기 (iteration) 란 짧지만 고정된 길이의 시간 간격을 말한다 .
      • 일반적으로 1~4 주이다 .
    한 회분의 출시 (A release) 는 보통 한 번 이상의 주기들로 구성된다 . 속도 (Velocity) 는 한 주기에서 목표로 하거나 완료된 업무의 양을 가리킨다 . 2 4 3 2 1 2 2 2 3 3 3 2
  • 16. 각 단계들을 연관 지어보기 (Relating the different planning levels) 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 3 5 5 2 2 “ 어제 UI 를 시작했으니까 , 오늘중으로 완료해야겠군 .” UI 코딩 8 테스트 대상 작성 6 중간 계층 코딩 12 테스트 작성 5 테스트 자동화 4 Product Backlog Iteration Backlog
  • 17. 사용자 스토리 점수 (Story points)
    • 오늘날 Agile 팀에서 가장 많이 사용되는 추정 단위
      • 용어는 요구 사항을 “사용자 스토리”로 표현한 데서 유래 .
    • 해당 업무의 크기와 복잡도에 기초하여 부과
    • 절대적인 측정 단위는 아니지만 , 수치적으로 상대적인 추정이 가능함 .
      • 10 점짜리 사용자 스토리는 5 점짜리보다 두 배의 시간이 걸릴 것이다 .
  • 18. 이 자갈 더미들이 업무라고 가정해보자 (Consider these two piles of work) 이 자갈 더미들에 각각 몇 점을 매겨야 할까 ?
  • 19. Zoo points 이 동물들에게 “ zoo points” 를 매겨보자 사자 캥거루 코뿔소 곰 기린 고릴라 하마 호랑이
  • 20. 사용자 스토리 점수로 추정할 때의 3 가지 주요 장점들 :
    • 상대적인 추정을 사용하도록 강요한다 .
      • 여러 연구들이 인간은 상대적인 추정에 더 강하다는 점을 보여주고 있다 †
    • 작업 기간이 아닌 크기에 초점을 맞추도록 해준다 .
      • 기간은 , 나중에 한 주기당 어느 정도를 완료했는지를 살핌으로써 , 경험적으로 산출할 수 있다 .
    • 추정치들을 서로 합산할 수 있다 .
      • 반면 , [ 물리적인 ] 시간을 기준으로 추정을 하게 될 경우 , [ 누가 그 일을 하느냐에 따라 소요되는 시간이 달라지기 때문에 전체 작업의 크기를 추정하기 위한 ] 합산이 불가능하다 .
    † Lederer and Prasad, 1998. A Causal Model for Software Cost Estimating Error and Vicinanza et al., 1991. Software Effort Estimation: An Exploratory Study of Expert Performance.
  • 21. 각 단계마다 동일한 추정 단위 사용하기 (Comparing apples to apples) “ 어제 UI 를 시작했으니까 , 오늘중으로 완료해야겠군 .” UI 코딩 8 테스트 대상 작성 6 중간 계층 코딩 12 테스트 작성 5 테스트 자동화 4 Product Backlog Iteration Backlog 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 3 5 5 2 2 30 50 50 20 20
  • 22. Planning poker 추정법 (Planning poker for estimating)
    • 광대역 델파이 기법 (Wideband Delphi) 을 바탕으로 일정을 추정하는 반복적인 접근법
    • 순서
      • 각 추정자들은 카드를 한 벌씩 받는다 . 각 카드에는 사전에 합의된 유효한 추정치가 하나씩 적혀 있다 .
      • 고객 / 제품주가 사용자 스토리 하나를 읽으면 , [ 모든 참가자들은 ] 거기에 대해서 간단히 토론한다 .
      • 각 추정자들은 자신의 추정치에 가장 가까운 카드를 고른다 .
      • 그런 다음 , 모두가 볼 수 있도록 카드를 뒤집는다 .
      • 차이점 ( 특히 최소 / 최대값의 차이점 ) 을 토론한다 .
      • 추정치가 하나로 몰릴 때까지 다시 추정한다 .
  • 23. Planning poker 추정법 - 예 20 13 8 5 3 2 1 추정자 제 1 회 제 2 회 수잔 3 5 바딤 8 5 앤 2 5 크리스 5 8
  • 24. 출시 계획 수립 (Release Planning) 출시 계획안 Sprint 1 Sprint 2 Sprint 3 Sprints 4–7 출시 계획 회의
  • 25. 자갈 나르기는 어떻게 되어가나 ? (How’s my landscaping coming?) 손수레 적재량 시간 이것이 바로 소멸 차트다 .
  • 26. 각 단계들을 기억하고 있는가 ? (Remember the different levels?) 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 단골로서 , 나는 …을 원한다 . 3 5 5 2 2 “ 어제 UI 를 시작했으니까 , 오늘중으로 완료해야겠군 .” UI 코딩 8 테스트 대상 작성 6 중간 계층 코딩 12 테스트 작성 5 테스트 자동화 4 Product Backlog Iteration Backlog 우리는 각 단계별로 소멸 상황을 추적할 수 있다 .
  • 27. 주기 소멸 차트 (An iteration burndown chart) 시간 4/29/02 5/6/02 5/13/02 5/20/02 5/24/02
  • 28. 출시 소멸 차트 (A release burndown chart) 사용자 스토리 점수