Introduction of SCRUM
                 Ahn Seong Hyun
            sh84.ahn@Gmail.com
Table of content

• What is SCRUM?
• Consist of SCRUM

   –   Product backlog
   –   Sprint planning meeting
   –   Sprint backlog
   –   Sprint
   –   Daily Scrum
   –   Scrum Master
   –   Sprint Review Meeting


• 짧은 소감.
• Reference
What is Scrum?



An iterative and incremental agile software development method for
managing software projects and product or application development.



소프트웨어 프로젝트와 제품의 관리또는 응용프로그램의 개발을 위한 반복적이
고
점진적인 애자일 소프트웨어 개발 방법론이다.

                                                - From Wikipedia -
History
Consist of SCRUM


시장환경 및 요구사항
                    Daily Scrum



          Sprint
          Plannin
          g
          Meeting
Product Backlog
•   제품의 모든 요구사항을 우선순위에 따라 나열한 목록을 말한다.
•   제품 백로그는 결코 확정되지 않는다.
•   우선순위가 가장 높은 항목이 가장 필요한 항목.

•   누구나 제안 할수 있다.(사용자, 고객, 영업, 기술자)
•   내용 : 기능, 특성, 기술적 스펙

•   우선 순위의 부여 : 한 명의 product owner(제품 책임자)만 할 수 있다.



Product Owner
The Product Owner represents the voice of the customer and is accountable for ensuring
that the team delivers value to the business. The Product Owner writes customer-centric
items (typically user stories), prioritizes them, and adds them to the product backlog. Scrum
teams should have one Product Owner, and while they may also be a member of the
development team, it is recommended that this role not be combined with that of Scrum
Master.
                                                                         - from Wikipedia -
Product Backlog
 • 제품에 대한 요구사항을 팀/부서에 상관없이 수집.


                     [제품 백로그]

        고객
                  인터넷 검사가 되어야함.       영업팀


       요구사항                       경쟁력을 위한 추가 기능
                  단위 테스트 필수

        PM
                  속도 개선              기술서비스팀


      기획 의도       UI/UX 개선           신기술 도입




       마케팅 팀      HTML5 도입           고객지원팀

      특징, 기능
                  모바일 지원 등등..         버그 대책


                                       팀원


                                     떠오른 할일
Product Backlog


우선순위를 매기는 작업 필수
Consist of SCRUM


시장환경 및 요구사항
                    Daily Scrum



          Sprint
          Plannin
          g
          Meeting
Sprint Planning Meeting

• 스프린트 기간동안 수행할 스프린트 백로그 결정하는 회의

•   Product owner 가 구현되기를 원하는 제품 백로그 아이템을 팀에게 알려준다.

•   팀은 받은 제품 백로그 아이템 중 스프린트 기간내 할수 있다고 생각되어
    지는 것들을 Sprint backlog에 넣는다.


     Product owner             Team




                                                       consider




                                      insert backlog
Sprint Planning Meeting



• 스프린트 백로그가 완성되어야만 한다.

• 스프린트 목표가 정해져야만 한다.

• 팀 모두가 동의해야 한다.

• 통상적으로 2시간 – 6시간 정도 걸린다고 한다.
Sprint backlog


   Sprint planning meeting 의 산출물.
   스프린트에서 반드시 해결하기로 결정된 제품 백로그 항목들의 모음
   제품 백로그의 부분집합
   해당 제품 백로그 항목들에 대한 사본의 모음

 특징

-   팀의 현재 상태를 실시간으로 반영한다.
-   갱신의 권한이 특정 개인이 아닌 팀에게 있다.
-   팀원 외부에는 권한이 없다 (제품 관리자조차!)
Sprint backlog


•   스프린트 기간동안 팀원들은
     – 스프린트 백로그만 들여다본다
        • 제품 백로그는 제품 책임자가 시시때때로 갱신
        • 하지만 팀원들은 스프린트 백로그에만 관심있다.

•   스프린트 백로그에 없는 일은
     – 스프린트 기간동안 신경조차 쓰지 않는다
     – 그걸 신경쓰는 건 다음 스프린트 때나 한다.
Sprint backlog
Product backlog vs. Sprint backlog
Sprint

 사전의 정의
-   단거리 경주
-   Sprints are short running races in athletics and track and field.


 정의
-   Scrum 에서 말하는 반복 주기 (Iteration) 의 단위

-   팀이 외부의 방해를 일체 받지 않고 오직 정해진 작업들만을 진행하는 기간

-   프로그램 개발은 당연히 여러 Sprint 로 구성된다.

-   제약된 시간을 가진다. (권장 : 30일)

-   스프린트 기간에는 제품의 완성된(working) 부분을 만들어 낸다.


-   즉, 새로운 기능이 추가된 실행 가능한 제품이 인도되어야 한다.
Sprint(timeboxed)

 프로그래머의 입장
- 방해 없이 정해진 양의 일만 할 수 있는 기간



 사장의 입장
- 간섭하고 싶어도 일단 기다려야 하는 기간



 제품 관리자의 입장
- 프로그래머들의 삽질을 방관할 최대한의 기간
Do in Sprint


-   팀이 스크린트 백로그에 정의된 요구사항을 충족시키기 위한
    디자인, 구현, 테스팅을 수행한다.

-   일일 스크럼(Daily Scrum)을 통해서 팀원 각자의 일정을 공유한다.
Daily Scrum

• 짤막한 현황회의

• 매일 정해진 시간에, 팀원 전원이 모여 진행하는 회의(약 15분)

• 다음의 세 가지 질문에 대해서만 짧게 대답하고 끝내는 회의

   – 각자 지난번 일일스크럼 이후로 한 일은?
   – 각자 다음 일일스크럼까지 할 일은?
   – 각자 업무 진행에 불편한 점은?
Scrum Master

•   스크럼을 주재하는 사람


•   역할
     – 일일 스크럼 회의를 소집하고 진행한다
     – 스프린트 기간 내내 팀원들이 스프린트 백로그를 잘 따를 수 있도록 팀내 의견을
       조율한다

•   스프린트 계획 회의에서는
     – 팀원들의 능력에 알맞은 양의 스프린트 백로그가 작성될 수 있도록 노력합니다

•   일일 스크럼 미팅에서는
     – 팀원들이 스프린트 백로그를 달성할 수 있도록 팀원들의 동향을 살피고
       조율합니다

•   스프린트 기간 중 외압으로부터 팀을 보호!
Scrum Master


•   일일 스크럼 회의에서
     – “서버가 너무 느려요”
     – “사장님이 자꾸 귀찮게 해요”
     – “자꾸 다른 일이 들어온다.”




•   스크럼 마스터는
     – 서버 관리자를 닥달한다.
     – 사장님(을 다룰 수 있는 사람)을 닥달한다.
     – 다른일을 요청하는 사람에게 주의를 준다.
Sprint Review Meeting

•   이번 Sprint 기간 동안 개발한 제품 증분에 대해서 검토한다.

•   스프린트 목표가 얼마나 달성되었는지 확인한다.

•   반성의 시간
-   왜 일이 잘 진행되었나?
-   왜 일이 잘 진행되지 않았나?
-   어떻게 해야 더 일을 잘 진행할 수 있을까?

•   제품 증분 확정
-   열심히 일한 내용을 제품에 반영한다.



•   스프린트 회고 이후에는 제품 새버전 출시!
짧은 소감.

•   스크럼 자체를 이해하는 과정을 그리 어렵지 않다.

•   다만, 세부 각 단계에서 어떻게 할지는 고민됨.

•   모든 프로젝트에 적용하기에는 무리가 있음. 마스터 키는 아니다.!!

•   자주 변하고, 많은 요구사항들이 나올때 효과적으로 통제하고, 개발을 가능하게 할것
    같은.

•   각 역할의 매우 중요하고, 각 역할별 규칙이 매우 중요하다.

•   정답은 없고, 적용하면서 경험주의 적으로 해답을 찾아나가는 과정이라는 생각이 듦.

•   Daily Scrum 부터라도 시도해 보는게.
Reference

1.   Wikipedia
2.   스크럼(Agile Software Development with scrum), 켄 슈와버, 마이크 비들
3.   스크럼을 활용한 소프트웨어 개발, 삼성 SDS Eng. Methodology팀 황상철 책임
4.   Software development #4:SCRUM, Combacsa’s SPARCS Web Seminar
5.   스크럼 개발방법이란?, 워록 게임사업부 기술지원팀 안중원
6.   http://msdn.microsoft.com/ko-kr/library/dd380681

Introduction of scrum 안성현 20120606

  • 1.
    Introduction of SCRUM Ahn Seong Hyun sh84.ahn@Gmail.com
  • 2.
    Table of content •What is SCRUM? • Consist of SCRUM – Product backlog – Sprint planning meeting – Sprint backlog – Sprint – Daily Scrum – Scrum Master – Sprint Review Meeting • 짧은 소감. • Reference
  • 3.
    What is Scrum? Aniterative and incremental agile software development method for managing software projects and product or application development. 소프트웨어 프로젝트와 제품의 관리또는 응용프로그램의 개발을 위한 반복적이 고 점진적인 애자일 소프트웨어 개발 방법론이다. - From Wikipedia -
  • 4.
  • 5.
    Consist of SCRUM 시장환경및 요구사항 Daily Scrum Sprint Plannin g Meeting
  • 6.
    Product Backlog • 제품의 모든 요구사항을 우선순위에 따라 나열한 목록을 말한다. • 제품 백로그는 결코 확정되지 않는다. • 우선순위가 가장 높은 항목이 가장 필요한 항목. • 누구나 제안 할수 있다.(사용자, 고객, 영업, 기술자) • 내용 : 기능, 특성, 기술적 스펙 • 우선 순위의 부여 : 한 명의 product owner(제품 책임자)만 할 수 있다. Product Owner The Product Owner represents the voice of the customer and is accountable for ensuring that the team delivers value to the business. The Product Owner writes customer-centric items (typically user stories), prioritizes them, and adds them to the product backlog. Scrum teams should have one Product Owner, and while they may also be a member of the development team, it is recommended that this role not be combined with that of Scrum Master. - from Wikipedia -
  • 7.
    Product Backlog •제품에 대한 요구사항을 팀/부서에 상관없이 수집. [제품 백로그] 고객 인터넷 검사가 되어야함. 영업팀 요구사항 경쟁력을 위한 추가 기능 단위 테스트 필수 PM 속도 개선 기술서비스팀 기획 의도 UI/UX 개선 신기술 도입 마케팅 팀 HTML5 도입 고객지원팀 특징, 기능 모바일 지원 등등.. 버그 대책 팀원 떠오른 할일
  • 8.
  • 9.
    Consist of SCRUM 시장환경및 요구사항 Daily Scrum Sprint Plannin g Meeting
  • 10.
    Sprint Planning Meeting •스프린트 기간동안 수행할 스프린트 백로그 결정하는 회의 • Product owner 가 구현되기를 원하는 제품 백로그 아이템을 팀에게 알려준다. • 팀은 받은 제품 백로그 아이템 중 스프린트 기간내 할수 있다고 생각되어 지는 것들을 Sprint backlog에 넣는다. Product owner Team consider insert backlog
  • 11.
    Sprint Planning Meeting •스프린트 백로그가 완성되어야만 한다. • 스프린트 목표가 정해져야만 한다. • 팀 모두가 동의해야 한다. • 통상적으로 2시간 – 6시간 정도 걸린다고 한다.
  • 12.
    Sprint backlog  Sprint planning meeting 의 산출물.  스프린트에서 반드시 해결하기로 결정된 제품 백로그 항목들의 모음  제품 백로그의 부분집합  해당 제품 백로그 항목들에 대한 사본의 모음  특징 - 팀의 현재 상태를 실시간으로 반영한다. - 갱신의 권한이 특정 개인이 아닌 팀에게 있다. - 팀원 외부에는 권한이 없다 (제품 관리자조차!)
  • 13.
    Sprint backlog • 스프린트 기간동안 팀원들은 – 스프린트 백로그만 들여다본다 • 제품 백로그는 제품 책임자가 시시때때로 갱신 • 하지만 팀원들은 스프린트 백로그에만 관심있다. • 스프린트 백로그에 없는 일은 – 스프린트 기간동안 신경조차 쓰지 않는다 – 그걸 신경쓰는 건 다음 스프린트 때나 한다.
  • 14.
  • 15.
    Product backlog vs.Sprint backlog
  • 16.
    Sprint  사전의 정의 - 단거리 경주 - Sprints are short running races in athletics and track and field.  정의 - Scrum 에서 말하는 반복 주기 (Iteration) 의 단위 - 팀이 외부의 방해를 일체 받지 않고 오직 정해진 작업들만을 진행하는 기간 - 프로그램 개발은 당연히 여러 Sprint 로 구성된다. - 제약된 시간을 가진다. (권장 : 30일) - 스프린트 기간에는 제품의 완성된(working) 부분을 만들어 낸다. - 즉, 새로운 기능이 추가된 실행 가능한 제품이 인도되어야 한다.
  • 17.
    Sprint(timeboxed)  프로그래머의 입장 -방해 없이 정해진 양의 일만 할 수 있는 기간  사장의 입장 - 간섭하고 싶어도 일단 기다려야 하는 기간  제품 관리자의 입장 - 프로그래머들의 삽질을 방관할 최대한의 기간
  • 18.
    Do in Sprint - 팀이 스크린트 백로그에 정의된 요구사항을 충족시키기 위한 디자인, 구현, 테스팅을 수행한다. - 일일 스크럼(Daily Scrum)을 통해서 팀원 각자의 일정을 공유한다.
  • 19.
    Daily Scrum • 짤막한현황회의 • 매일 정해진 시간에, 팀원 전원이 모여 진행하는 회의(약 15분) • 다음의 세 가지 질문에 대해서만 짧게 대답하고 끝내는 회의 – 각자 지난번 일일스크럼 이후로 한 일은? – 각자 다음 일일스크럼까지 할 일은? – 각자 업무 진행에 불편한 점은?
  • 20.
    Scrum Master • 스크럼을 주재하는 사람 • 역할 – 일일 스크럼 회의를 소집하고 진행한다 – 스프린트 기간 내내 팀원들이 스프린트 백로그를 잘 따를 수 있도록 팀내 의견을 조율한다 • 스프린트 계획 회의에서는 – 팀원들의 능력에 알맞은 양의 스프린트 백로그가 작성될 수 있도록 노력합니다 • 일일 스크럼 미팅에서는 – 팀원들이 스프린트 백로그를 달성할 수 있도록 팀원들의 동향을 살피고 조율합니다 • 스프린트 기간 중 외압으로부터 팀을 보호!
  • 21.
    Scrum Master • 일일 스크럼 회의에서 – “서버가 너무 느려요” – “사장님이 자꾸 귀찮게 해요” – “자꾸 다른 일이 들어온다.” • 스크럼 마스터는 – 서버 관리자를 닥달한다. – 사장님(을 다룰 수 있는 사람)을 닥달한다. – 다른일을 요청하는 사람에게 주의를 준다.
  • 22.
    Sprint Review Meeting • 이번 Sprint 기간 동안 개발한 제품 증분에 대해서 검토한다. • 스프린트 목표가 얼마나 달성되었는지 확인한다. • 반성의 시간 - 왜 일이 잘 진행되었나? - 왜 일이 잘 진행되지 않았나? - 어떻게 해야 더 일을 잘 진행할 수 있을까? • 제품 증분 확정 - 열심히 일한 내용을 제품에 반영한다. • 스프린트 회고 이후에는 제품 새버전 출시!
  • 23.
    짧은 소감. • 스크럼 자체를 이해하는 과정을 그리 어렵지 않다. • 다만, 세부 각 단계에서 어떻게 할지는 고민됨. • 모든 프로젝트에 적용하기에는 무리가 있음. 마스터 키는 아니다.!! • 자주 변하고, 많은 요구사항들이 나올때 효과적으로 통제하고, 개발을 가능하게 할것 같은. • 각 역할의 매우 중요하고, 각 역할별 규칙이 매우 중요하다. • 정답은 없고, 적용하면서 경험주의 적으로 해답을 찾아나가는 과정이라는 생각이 듦. • Daily Scrum 부터라도 시도해 보는게.
  • 24.
    Reference 1. Wikipedia 2. 스크럼(Agile Software Development with scrum), 켄 슈와버, 마이크 비들 3. 스크럼을 활용한 소프트웨어 개발, 삼성 SDS Eng. Methodology팀 황상철 책임 4. Software development #4:SCRUM, Combacsa’s SPARCS Web Seminar 5. 스크럼 개발방법이란?, 워록 게임사업부 기술지원팀 안중원 6. http://msdn.microsoft.com/ko-kr/library/dd380681

Editor's Notes

  • #2 스크럼에대한간단한소개, 그리고각단계에대한설명, 그속에있는각역할에대한설명
  • #5 1986년, 히로타카 카테우치, 이쿠지로 노모카 두 사람이 상용 제품 개발에 대한 새로운 접근법 제시  자동차, 프린트 산업을 연구대상으로 해서 빠르게 개발하고 유연성을 가질수 있는 제품 개발 접근법 제시 하고, 스크럼의기초가됨. 1995년켄슈와버가자신의회사에서도입해서사용하기시작하면서그러한경험을바탕으로이론정립.
  • #9 반드시우선순위를매겨야하고, 매길수있는사람은단한사람, 제품책임자뿐.
  • #10 다시한번정리하면, 각종요구사항의집합체가제품백로그이며, 제품백로그는반드시한명의제품책임자에의해서결정된우선순위를가지고있어야한다.
  • #11 제품책임자가던져준기능을무조건개발해야하는가? 의견이다르다면?
  • #13 팀의인원구성, 팀의상태에따라서 30일이라는기간내할수있는일의양이달라진다.
  • #14 팀은스프린트백로그에있는기능에좀더집중할수있다.
  • #15 팀은스프린트백로그에있는기능에좀더집중할수있다.
  • #16 팀은스프린트백로그에있는기능에좀더집중할수있다.
  • #17 30일로권장하는이유는, 개발팀의삽질을최소 30일로제약시킬수있다.
  • #19 스프린트팀은수직적인구조로설계자프로그래머코더이런식이아닌디자이너, 프로그래머, 기획자,테스터수평적인구조로구성이되는것이바람직함.
  • #21 스크럼마스터는팀의상황을잘이해하고있어야한다.
  • #23 스크린트가끝났다고바로제품에반영되는것이아니라, 스프린트리뷰미팅을통해서제품에개발한내용을증분으로반영할것인지결정한다. 그리고나서제품새버전을출시한다.