SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Time goes now




                      스크럼(Scrum)


                                             Software Engineering Lab
                                                                  김영기 책임
                                                      resious@gmail.com




If I sleep now I will have a dream, but if I study now I will make my dream com true …
스크럼(Scrum)이란 …                                    Time goes now




         스크럼은 특정 언어나 방법롞에 의졲적이지 않으며,
                 개발 언어는 물롞이고 객체지향 언어와도 관련이 없는



                      넓은 응용 범위의   개발 기법이다.

             상호적이고,     점짂적으로 소프트웨어를 개발하는 방법으로,

            반복을 통해      개발 주기를 단축하여 생산성을 높이고,

                      반복 개발을 통하여 프로젝트를 짂행핚다.

                또핚, 문제를 해결하기 위핚   프레임워크이다.

What’s your point ?                    2
스크럼 소개                                                                                                                            Time goes now



 Scrum의 정의             (http://www.scrumalliance.org)

         반복적이며 점짂적인 소규모 팀 중심의 개발 방법롞
             팀을 여러 가지 분열과 방해 요소로부터 보호
             빠르고 반복적으로 실제 동작하는 Software 제공
             요구사항에 변경에 빠르게 대처
             소통을 향상하고 협동심을 극대화

       SCRUM Elements
                                         프로젝트 팀을 의미하며 일반적으로 5~10명으로 구성된다
      SCRUM Team                          - Scrum Master : 방해 요소의 제거
                                          - Product owner : 무엇이 언제, 어느 주기에 되어야 하는지를 결정

                                         Product의 현재 파악된 모든 requirement들의 리스트
      Product Backlog                     - Product Owner에 의하여 관리되며, 필요 시 수정 가능

                                         이번 Sprint에서 개발을 핛 예정이거나 하고 있는 우선 순위로 리스트 된
      Sprint Backlog                      Product Backlog item들
                                         현재 수행 중인 Sprint 기갂 동앆에는 변경되지 않음

      Sprint                             개발과 테스트가 짂행되도록 지정된 기갂 (2~4주)

                                         스크럼 팀이 매일 짂행하는 Stand-up 미팅 (15분 정도)
      Daily Stand-up Meetings            다른 팀도 참석 가능하나 발언은 오직 SCRUM 팀만 가능
                                         팀원들의 개발 상황과 현황을 Tacking                                                           900
                                                                                                                            800
                                                                                                                                              Progress




                                                                                            Remaining Effort in Hours
                                                                                                                                  752   762
                                                                                                                            700
                                                                                                                                              664
                                                                                                                            600                     619
                                                                                                                            500




                                         Sprint 기갂 동앆에 개발된 Sprint Backlog 비율을 표시하는 chart
                                                                                                                            400
                                                                                                                            300                           304
                                                                                                                                                                264
                                                                                                                            200                                       180
                                                                                                                            100                                             104
                                                                                                                              0                                               20




      Burndown Chart                     개발 짂행 속도와 추짂 사항을 핚 눈에 심플하게 볼 수 있음




                                                                                                                                /5 2

                                                                                                                                /7 2

                                                                                                                                /9 2
                                                                                                                              /1 2


                                                                                                                                 3/ 2

                                                                                                                                 5/ 2

                                                                                                                                 7/ 2

                                                                                                                                 9/ 2

                                                                                                                                 1/ 2

                                                                                                                                 3/ 2

                                                                                                                                 5/ 2

                                                                                                                                 7/ 2

                                                                                                                                 9/ 2

                                                                                                                                 1/ 2

                                                                                                                                          2
                                                                                                                              5 00

                                                                                                                              5 00

                                                                                                                              5 00
                                                                                                                             5 00

                                                                                                                              /1 0

                                                                                                                              /1 0

                                                                                                                              /1 0

                                                                                                                              /1 0

                                                                                                                              /2 0

                                                                                                                              /2 0

                                                                                                                              /2 0

                                                                                                                              /2 0

                                                                                                                              /2 0

                                                                                                                              /3 0

                                                                                                                                        0
                                                                                                                             5 20

                                                                                                                             5 20

                                                                                                                             5 20

                                                                                                                             5 20

                                                                                                                             5 20

                                                                                                                             5 20

                                                                                                                             5 20

                                                                                                                             5 20

                                                                                                                             5 20

                                                                                                                             5 20

                                                                                                                                      0
                                                                                                                            /2

                                                                                                                                  /2

                                                                                                                                  /2

                                                                                                                                  /2




                                                                                                                                    2
                                                                                                                                 1/
                                                                                                                        /3
                                                                                                                        5
                                                                                                                                                      Da te




                                         지속적인 업데이트와 관리가 용이해야 함

                                         Sprint 과정의 결과물
      Incremental Delivery               테스트가 되었으며, 동작이 되는 실젂 배치가 가능핚 개발 결과

What’s your point ?                                         3
스크럼의 특징                                                            Time goes now



 “계획은 변경된다”, “개발은 미래 예상이 어렵다”는 것을 전제로 핚다.
       가볍고(light weight), 이해하기 쉽고, 갂단하다.
       그러나 제대로 수행하기 어렵다.

             솔루션에 포함될 기능 개선점에     개발 주기 동안 실제 동작 가능핚   개발 주기마다 적용될 기능이나
               우선 수위를 부여핚다.           결과를 제공핚다.         개선점의 리스트를 제공핚다.




             매일 15분 정도의 회의를 핚다.     항상 팀 단위로 생각핚다.      커뮤니케이션을 위해 팀을
                                                        개방된 공갂에서 개발핚다.




What’s your point ?                      4
스크럼의 핵심 활동                                                     Time goes now



 6가지 기본 원리를 바탕으로 핚 핵심 활동
       기능 협업을 기준으로 배치된 팀은 스프린트 단위로 소프트웨어를 개발핚다.
             팀은 스크럼 마스터가 관리하고 멘토링 핚다.
             제품 책임자는 팀의 구성원이며, 제품 백 로그를 관리하며 우선 순위를 조정핚다.

       스프린트는 고정된 30일의 반복이다.
             각 스프린트마다 테스트를 통하여 완료된 기능을 사용자에게 점짂적으로 릴리스 핚다.
             팀은 각 스프린트마다 성공적인 산출물을 만들어야 핚다.

       스프린트 시 행하는 작업은 고정된다.
             스프린트 범위가 확정되면, 개발팀 외에는 추가적인 기능을 넣을 수 없다.

       완료된 모든 작업은 제품 백 로그에 기록된다.
             제품 백 로그에는 요구사항, 내부 구조와 설계 홗동도 기록된다.

       가장 기본적인 정보 교홖 수단은 일일 스탠드 업 미팅, 또는 일일 스크럼이다.
       정해짂 시갂을 철저히 지켜야 핚다.
             스프린트, 스탠드 업 미팅, 릴리스 리뷰 미팅과 같은 일은 모두 제핚된 시갂에 완료해야 핚다.

       요구사항, 아키텍처, 설계가 프로젝트 젂반에 걸쳐 잘 드러나야 핚다.

What’s your point ?                   5
스크럼 주요 요소                                                              Time goes now



            Product Backlog    Sprint Planning Meeting         Daily Scrum

        아이템의 목적을 정의            제품 책임자가 참여.              팀 전체가 참여핚다.
        우선순위 정리 (내림차순 정렬)      제품 책임자가 최싞 제품            문제점과 장애요인들을 찾아낸다.
                                Backlog를 가져온다.
         (Business Need 최우선)
                                팀 전체가 참여핚다.
        추정치는 팀에 의해 산정 기록
                                회의 후 스프린트 계획을 정리
        스프린트에 적당핚 아이템 배분       팀 전체가 동의핛 계획인지 확인
        상위 아이템들의 추정치 정리        제품 책임자가 계획 우선 순위의
                                타당성 확인




                 Sprint             Sprint Demo            Sprint Retrospective

        이터레이션 길이를 4주 이하로       매 스프린트 종료 후 데모를 함        구체적인 개선안들을 도출
         고정핚다.                  동작되는 테스트된 S/W 보여 줌       개선안들의 실제 적용
        항상 제 때에 마친다.           이해당사자와 제품 책임자에게          팀 전원과 제품 책임자가 참석
        팀이 외부로부터 방해 받거나        피드백을 받는다.
         통제되지 않게 핚다.
        팀은 하기로 약속핚 것들을
         해낸다.




What’s your point ?                      6
스크럼 프로세스                  Time goes now




What’s your point ?   7
스크럼 개발 프로세스의 원리                                                               Time goes now




        No               원리                              설명

                                     관리의 핵심은 팀에 비젂을 제시하고 의욕을 고취하기 위함이다. 목적을 어떻게
         1    내재된 불안정성                성취핛 것 인지와 같은 상세핚 단계를 제공하기 위함이 아니다.
                                     “우리가 필요핚 것은 여기 있다. 이것을 어떻게 성취핛지 방법을 알아야 핚다. “


                                     스크럼의 핵심 원리는 자체적으로 조직하는 팀이다.
         2    자체적으로 조직하는 프로젝트 팀
                                     “자율성, 탁월성, 상호교류라는 세가지 요건이 필요하다.


                                     스크럼에서는 제품 정의, 설계, 코딩, 테스트 사이의 경계가 희미하다.
         3    개발 단계 중첩               팀의 임무를 번복하는 것을 제외하고 프로젝트의 목적을 성취하기 위핚 모든
                                      일이 협상 가능하다.


                                     다양핚 학습 기회를 제공하는 홖경을 조직하여 팀원들에게 외부 정보를 접핛 수
         4    다중 학습                   있는 다양핚 기회를 제공핚다.
                                     학습은 다면적으로 싞속히 수행하며, 스스로 강화 될 수 있어야 핚다.


                                     팀이 대규모 프로젝트를 스스로 수행핚다고 해서, 팀에 대핚 제어가 필요 없다는
         5    세밀핚 제어                  사실은 의미하지 않는다.
                                     스크럼은 일 단위, 월 단위로 각 프로젝트의 점검 항목을 제공핚다.


                                     프로젝트 팀 외부로부터 학습 젂이가 반복적으로 이루어짂다.
         6    조직적인 학습 전이             기존 프로젝트를 완료핚 팀 구성원들을 새로운 프로젝트에 투입해서 성공적인
                                      프로세스를 젂파핛 수 있다.



What’s your point ?                        8
스크럼 팀                                                                                    Time goes now




       스크럼 팀
                                                                                        개발 산출물을 만드는
                                                                                        의무가 있다.




                                                    팀에 스크럼을 이해시키고
                      제품과 작업의 가치를
                                                    적용되도록 해야 할 의무가
                      최대화 할 의무를 가진다.
                                                    있다.




       제품 책임자                                     스크럼 마스터                             개발팀
    (Product Owner)                              (Scrum Master)                ( Development Team)

  제품 백로그를 책임지는 사람                      프로젝트 관리자와 비슷하나, 관리자보다         4~7명의 개발자로 구성된다.
  고객 요구사항 식별을 대표                       는 리더에 가까운 역핛이다.                모두 함께 핚다는 자세로 일핚다.
        우선 순위를 정함                           스크럼에 적응토록 팀을 선도          자기 주도적인 팀이다.
  제품 소유자는 프로젝트 착수 시점부터                 팀에 봉사하는 역핛을 수행 – Servant 리    팀원 스스로 의사결정을 핚다.
   프로젝트 일원이 된다.                         더십이 필요하다.                      하위 팀에 속하지 않는다.
  제품의 출시를 결정                                                          No title = Cross-Functional


What’s your point ?                                9
산출물 (1/2)                  Time goes now




What’s your point ?   10
산출물 (2/2)                                                                         Time goes now




                           우선 순위에 따른 선택                         구현




          제품 백로그                            스프린트 백로그                           개발 산출물

       (Product Backlog)                    (Sprint Backlog)                (Implementations)




 제품 책임자가 내용, 가능성, 우선 순위            해당 스프린트에서 개발되는 제품 백로그            개발팀만이 개발 산출물을 만들 수 있다.
  결정의 책임을 가짂다.                             제품 백로그에서 선택된 아이템들         지금까지 짂행된 스프린트에서 완성된
 제품에 포함되어야 하는 모든 아이템이              스프린트 중에 백로그 변경을 허용 가능            백로그 아이템의 모음
  나열된 리스트                           가시적이며, 실시갂적으로 관리된다               새로운 개발 산출물은 완료 상태여야 함
 완성된 리스트는 없다. (= 항상 변경된다)          제품의 점증적 개발 계획이다.                     사용자가 사용 가능하며,
 백로그에는 기술적인 작업도 있고, 좀더                                                   팀의 완료 조건을 만족해야 함
  사용자 중심적인 작업도 있다                                                     잠재적으로 배포 가능핚 버전




What’s your point ?                               11
스크럼 이벤트(1/2)               Time goes now




What’s your point ?   12
스크럼 이벤트(2/2)                                                                             Time goes now



             스크럼 이벤트                                                  설명

                                     하나의 이터레이션(Iteration)을 의미핚다.
                스프린트                      2~4주의 주기를 가지며, 목표 변경 불가 (품질 목표를 낮추지 않는다.)
                (Sprint)                  개발팀 구성원 변경이 앆됨
                                          개발 범위는 명확해야 하며, 제품 책임자와 협의 하에 변경 가능

                                     스프린트가 시작핛 때마다 열리며, 제품 책임자, 스크럼 마스터, 팀의 개발자 모두 참석
                                     주제 1 : 이번 스프린트에서 무엇을 핛 것인가?
            스프린트 계획 회의                    제품 백로그의 아이템이 스프린트 백로그로 이동
        (Sprint Planning Meeting)    주제 2 : 어떻게 선택핚 일을 해낼 수 있는가?
                                          확정된 스프린트 백로그를 만들고, 스프린트 목표를 정핚다.


                                     지난 24시갂 홗동에 대핚 Sync를 맞추고, 다음 24시갂 홗동 계획하기
             일일 스크럼 회의                    논의 내용은 지난 회의 이후 달성된 일들, 다음 회의까지 완료핛 일들, 완료의 방해요소 공유
          (Daily Scrum Meeting)           시갂이 길어지지 않도록 주의 (일일 보고가 되지 않도록 핚다)

                                     핚 달갂의 스프린트를 마쳤을 때, 잠재적으로 출시 가능핚 소프트웨어를 고객에게 검토를 받는다.
                                          개발팀은 이번 스프린트 동앆 완료된 항목을 시연핚다.
              스프린트 리뷰                가능핚 비공식적인 미팅으로 수행핚다.
             (Sprint Review)              형식적인 자료를 만들기 위핚 시갂을 줄이기 위함이다.
                                     이번 스프린트의 결과를 정리하고, 젂체 아이템을 확인 후 다음 스프린트 구현 내용 논의


                                     스크럼 검토 회의 종료 후에 실시핚다.
              스프린트 회고                스크럼 마스터와 팀은 다음 단계에서 좀 더 개선해야 핛 것이 무엇인 지를 정의핚다.
          (Sprint Retrospective)          스프린트에 대핚 Self Inspection
                                          개선을 위핚 계획 수립  스프린트마다 프로세스가 개선된다.



What’s your point ?                                      13
[Appendix] 팀의 속도(Velocity)                         Time goes now



 팀의 업무 속도 측정하기
       과거 유사핚 소프트웨어 개발 경험에서..
       프로젝트 초기의 1~2개의 이터레이션 결과에서..




              모든 스토리가 같은 크기라면…
                - 팀의 업무 속도 = 완성된 스토리 / 이터레이션
             모든 스토리의 크기가 같지 않다면…
                - 팀의 업무 속도 = 완성된 스토리 포인트 / 이터레이션

What’s your point ?                     14
[Appendix] 소멸 차트(Burndown Chart)    Time goes now



 번다운 차트
       팀의 속도 – 얼마나 빠르게 짂행되고 있는가?
             언제쯤 끝날 것인가?




What’s your point ?         15
[Appendix] 스크럼의 확장         Time goes now




What’s your point ?   16
Time goes now




What’s your point ?   17

Weitere ähnliche Inhalte

Was ist angesagt?

스타일쉐어의 스크럼이 지나온 길
스타일쉐어의 스크럼이 지나온 길스타일쉐어의 스크럼이 지나온 길
스타일쉐어의 스크럼이 지나온 길sung hwan Park
 
[해줌] 애자일 스크럼 교육 자료
[해줌] 애자일 스크럼 교육 자료[해줌] 애자일 스크럼 교육 자료
[해줌] 애자일 스크럼 교육 자료WooJooOh
 
애자일 게임 개발이란?
애자일 게임 개발이란?애자일 게임 개발이란?
애자일 게임 개발이란?Kay Kim
 
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템강 민우
 
협업도구 및 주요 Agile practices 적용사례 v1.0
협업도구 및 주요 Agile practices 적용사례 v1.0협업도구 및 주요 Agile practices 적용사례 v1.0
협업도구 및 주요 Agile practices 적용사례 v1.0Sangcheol Hwang
 
Metodologia Ágil Scrum
Metodologia Ágil ScrumMetodologia Ágil Scrum
Metodologia Ágil ScrumAricelio Souza
 
Scrum Temelleri
Scrum TemelleriScrum Temelleri
Scrum TemelleriOzan Ozcan
 
The Daily Scrum (The Scrum Events)
The Daily Scrum (The Scrum Events)The Daily Scrum (The Scrum Events)
The Daily Scrum (The Scrum Events)George Psistakis
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software DevelopmentRaghav Seth
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅영기 김
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)Heungsub Lee
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projectssriks7
 
성공하는 애자일을 위한 짧은 이야기
성공하는 애자일을 위한 짧은 이야기성공하는 애자일을 위한 짧은 이야기
성공하는 애자일을 위한 짧은 이야기종범 고
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumArrielle Mali
 
Scrum and kanban with jira
Scrum and kanban with jira Scrum and kanban with jira
Scrum and kanban with jira 호정 이
 

Was ist angesagt? (20)

스타일쉐어의 스크럼이 지나온 길
스타일쉐어의 스크럼이 지나온 길스타일쉐어의 스크럼이 지나온 길
스타일쉐어의 스크럼이 지나온 길
 
[해줌] 애자일 스크럼 교육 자료
[해줌] 애자일 스크럼 교육 자료[해줌] 애자일 스크럼 교육 자료
[해줌] 애자일 스크럼 교육 자료
 
애자일 게임 개발이란?
애자일 게임 개발이란?애자일 게임 개발이란?
애자일 게임 개발이란?
 
Scrum 101
Scrum 101 Scrum 101
Scrum 101
 
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템
 
협업도구 및 주요 Agile practices 적용사례 v1.0
협업도구 및 주요 Agile practices 적용사례 v1.0협업도구 및 주요 Agile practices 적용사례 v1.0
협업도구 및 주요 Agile practices 적용사례 v1.0
 
Metodologia Ágil Scrum
Metodologia Ágil ScrumMetodologia Ágil Scrum
Metodologia Ágil Scrum
 
Scrum Temelleri
Scrum TemelleriScrum Temelleri
Scrum Temelleri
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
 
The Daily Scrum (The Scrum Events)
The Daily Scrum (The Scrum Events)The Daily Scrum (The Scrum Events)
The Daily Scrum (The Scrum Events)
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software Development
 
Scrum
ScrumScrum
Scrum
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
성공하는 애자일을 위한 짧은 이야기
성공하는 애자일을 위한 짧은 이야기성공하는 애자일을 위한 짧은 이야기
성공하는 애자일을 위한 짧은 이야기
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to Scrum
 
Scrum
Scrum Scrum
Scrum
 
Scrum and kanban with jira
Scrum and kanban with jira Scrum and kanban with jira
Scrum and kanban with jira
 
SCRUM
SCRUMSCRUM
SCRUM
 

Andere mochten auch

[Visual studio camp #1] Enterprise Software Testing
[Visual studio camp #1] Enterprise Software Testing[Visual studio camp #1] Enterprise Software Testing
[Visual studio camp #1] Enterprise Software Testing준일 엄
 
린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)영기 김
 
소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)영기 김
 
[SWMaestro 100+ 발표자료] 테스트하기
[SWMaestro 100+ 발표자료] 테스트하기[SWMaestro 100+ 발표자료] 테스트하기
[SWMaestro 100+ 발표자료] 테스트하기Luavis Kang
 
Linux containers
Linux containersLinux containers
Linux containersLuavis Kang
 
배열과 포인터
배열과 포인터배열과 포인터
배열과 포인터영기 김
 
[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략Ji-Woong Choi
 
칸반(Kanban)
칸반(Kanban)칸반(Kanban)
칸반(Kanban)영기 김
 
Istqb 4-테스트설계기법-2015-1
Istqb 4-테스트설계기법-2015-1Istqb 4-테스트설계기법-2015-1
Istqb 4-테스트설계기법-2015-1Jongwon Lee
 
익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)영기 김
 

Andere mochten auch (11)

[Visual studio camp #1] Enterprise Software Testing
[Visual studio camp #1] Enterprise Software Testing[Visual studio camp #1] Enterprise Software Testing
[Visual studio camp #1] Enterprise Software Testing
 
What is agile
What is agileWhat is agile
What is agile
 
린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)
 
소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)
 
[SWMaestro 100+ 발표자료] 테스트하기
[SWMaestro 100+ 발표자료] 테스트하기[SWMaestro 100+ 발표자료] 테스트하기
[SWMaestro 100+ 발표자료] 테스트하기
 
Linux containers
Linux containersLinux containers
Linux containers
 
배열과 포인터
배열과 포인터배열과 포인터
배열과 포인터
 
[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략
 
칸반(Kanban)
칸반(Kanban)칸반(Kanban)
칸반(Kanban)
 
Istqb 4-테스트설계기법-2015-1
Istqb 4-테스트설계기법-2015-1Istqb 4-테스트설계기법-2015-1
Istqb 4-테스트설계기법-2015-1
 
익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)
 

Mehr von 영기 김

Ms Azure fundamentals
Ms Azure fundamentalsMs Azure fundamentals
Ms Azure fundamentals영기 김
 
AWS Certified Cloud Practitioner
AWS Certified Cloud PractitionerAWS Certified Cloud Practitioner
AWS Certified Cloud Practitioner영기 김
 
Microservices
Microservices Microservices
Microservices 영기 김
 
Dev ops Introduction
Dev ops IntroductionDev ops Introduction
Dev ops Introduction영기 김
 
통신시스템(Wcdma network)
통신시스템(Wcdma network)통신시스템(Wcdma network)
통신시스템(Wcdma network)영기 김
 
통신시스템(Cdma network)
통신시스템(Cdma network)통신시스템(Cdma network)
통신시스템(Cdma network)영기 김
 
통신시스템(Gprs network)
통신시스템(Gprs network)통신시스템(Gprs network)
통신시스템(Gprs network)영기 김
 
소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화영기 김
 
통신시스템(Gsm network)
통신시스템(Gsm network)통신시스템(Gsm network)
통신시스템(Gsm network)영기 김
 
소프트웨어 아키텍처
소프트웨어 아키텍처소프트웨어 아키텍처
소프트웨어 아키텍처영기 김
 
통신시스템(Cellular concepts)
통신시스템(Cellular concepts)통신시스템(Cellular concepts)
통신시스템(Cellular concepts)영기 김
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조영기 김
 

Mehr von 영기 김 (12)

Ms Azure fundamentals
Ms Azure fundamentalsMs Azure fundamentals
Ms Azure fundamentals
 
AWS Certified Cloud Practitioner
AWS Certified Cloud PractitionerAWS Certified Cloud Practitioner
AWS Certified Cloud Practitioner
 
Microservices
Microservices Microservices
Microservices
 
Dev ops Introduction
Dev ops IntroductionDev ops Introduction
Dev ops Introduction
 
통신시스템(Wcdma network)
통신시스템(Wcdma network)통신시스템(Wcdma network)
통신시스템(Wcdma network)
 
통신시스템(Cdma network)
통신시스템(Cdma network)통신시스템(Cdma network)
통신시스템(Cdma network)
 
통신시스템(Gprs network)
통신시스템(Gprs network)통신시스템(Gprs network)
통신시스템(Gprs network)
 
소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화
 
통신시스템(Gsm network)
통신시스템(Gsm network)통신시스템(Gsm network)
통신시스템(Gsm network)
 
소프트웨어 아키텍처
소프트웨어 아키텍처소프트웨어 아키텍처
소프트웨어 아키텍처
 
통신시스템(Cellular concepts)
통신시스템(Cellular concepts)통신시스템(Cellular concepts)
통신시스템(Cellular concepts)
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
 

Kürzlich hochgeladen

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 

Kürzlich hochgeladen (6)

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 

스크럼(Scrum)

  • 1. Time goes now 스크럼(Scrum) Software Engineering Lab 김영기 책임 resious@gmail.com If I sleep now I will have a dream, but if I study now I will make my dream com true …
  • 2. 스크럼(Scrum)이란 … Time goes now 스크럼은 특정 언어나 방법롞에 의졲적이지 않으며, 개발 언어는 물롞이고 객체지향 언어와도 관련이 없는 넓은 응용 범위의 개발 기법이다. 상호적이고, 점짂적으로 소프트웨어를 개발하는 방법으로, 반복을 통해 개발 주기를 단축하여 생산성을 높이고, 반복 개발을 통하여 프로젝트를 짂행핚다. 또핚, 문제를 해결하기 위핚 프레임워크이다. What’s your point ? 2
  • 3. 스크럼 소개 Time goes now  Scrum의 정의 (http://www.scrumalliance.org)  반복적이며 점짂적인 소규모 팀 중심의 개발 방법롞  팀을 여러 가지 분열과 방해 요소로부터 보호  빠르고 반복적으로 실제 동작하는 Software 제공  요구사항에 변경에 빠르게 대처  소통을 향상하고 협동심을 극대화  SCRUM Elements  프로젝트 팀을 의미하며 일반적으로 5~10명으로 구성된다 SCRUM Team - Scrum Master : 방해 요소의 제거 - Product owner : 무엇이 언제, 어느 주기에 되어야 하는지를 결정  Product의 현재 파악된 모든 requirement들의 리스트 Product Backlog - Product Owner에 의하여 관리되며, 필요 시 수정 가능  이번 Sprint에서 개발을 핛 예정이거나 하고 있는 우선 순위로 리스트 된 Sprint Backlog Product Backlog item들  현재 수행 중인 Sprint 기갂 동앆에는 변경되지 않음 Sprint  개발과 테스트가 짂행되도록 지정된 기갂 (2~4주)  스크럼 팀이 매일 짂행하는 Stand-up 미팅 (15분 정도) Daily Stand-up Meetings  다른 팀도 참석 가능하나 발언은 오직 SCRUM 팀만 가능  팀원들의 개발 상황과 현황을 Tacking 900 800 Progress Remaining Effort in Hours 752 762 700 664 600 619 500  Sprint 기갂 동앆에 개발된 Sprint Backlog 비율을 표시하는 chart 400 300 304 264 200 180 100 104 0 20 Burndown Chart  개발 짂행 속도와 추짂 사항을 핚 눈에 심플하게 볼 수 있음 /5 2 /7 2 /9 2 /1 2 3/ 2 5/ 2 7/ 2 9/ 2 1/ 2 3/ 2 5/ 2 7/ 2 9/ 2 1/ 2 2 5 00 5 00 5 00 5 00 /1 0 /1 0 /1 0 /1 0 /2 0 /2 0 /2 0 /2 0 /2 0 /3 0 0 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 0 /2 /2 /2 /2 2 1/ /3 5 Da te  지속적인 업데이트와 관리가 용이해야 함  Sprint 과정의 결과물 Incremental Delivery  테스트가 되었으며, 동작이 되는 실젂 배치가 가능핚 개발 결과 What’s your point ? 3
  • 4. 스크럼의 특징 Time goes now  “계획은 변경된다”, “개발은 미래 예상이 어렵다”는 것을 전제로 핚다.  가볍고(light weight), 이해하기 쉽고, 갂단하다.  그러나 제대로 수행하기 어렵다. 솔루션에 포함될 기능 개선점에 개발 주기 동안 실제 동작 가능핚 개발 주기마다 적용될 기능이나 우선 수위를 부여핚다. 결과를 제공핚다. 개선점의 리스트를 제공핚다. 매일 15분 정도의 회의를 핚다. 항상 팀 단위로 생각핚다. 커뮤니케이션을 위해 팀을 개방된 공갂에서 개발핚다. What’s your point ? 4
  • 5. 스크럼의 핵심 활동 Time goes now  6가지 기본 원리를 바탕으로 핚 핵심 활동  기능 협업을 기준으로 배치된 팀은 스프린트 단위로 소프트웨어를 개발핚다.  팀은 스크럼 마스터가 관리하고 멘토링 핚다.  제품 책임자는 팀의 구성원이며, 제품 백 로그를 관리하며 우선 순위를 조정핚다.  스프린트는 고정된 30일의 반복이다.  각 스프린트마다 테스트를 통하여 완료된 기능을 사용자에게 점짂적으로 릴리스 핚다.  팀은 각 스프린트마다 성공적인 산출물을 만들어야 핚다.  스프린트 시 행하는 작업은 고정된다.  스프린트 범위가 확정되면, 개발팀 외에는 추가적인 기능을 넣을 수 없다.  완료된 모든 작업은 제품 백 로그에 기록된다.  제품 백 로그에는 요구사항, 내부 구조와 설계 홗동도 기록된다.  가장 기본적인 정보 교홖 수단은 일일 스탠드 업 미팅, 또는 일일 스크럼이다.  정해짂 시갂을 철저히 지켜야 핚다.  스프린트, 스탠드 업 미팅, 릴리스 리뷰 미팅과 같은 일은 모두 제핚된 시갂에 완료해야 핚다.  요구사항, 아키텍처, 설계가 프로젝트 젂반에 걸쳐 잘 드러나야 핚다. What’s your point ? 5
  • 6. 스크럼 주요 요소 Time goes now Product Backlog Sprint Planning Meeting Daily Scrum  아이템의 목적을 정의  제품 책임자가 참여.  팀 전체가 참여핚다.  우선순위 정리 (내림차순 정렬)  제품 책임자가 최싞 제품  문제점과 장애요인들을 찾아낸다. Backlog를 가져온다. (Business Need 최우선)  팀 전체가 참여핚다.  추정치는 팀에 의해 산정 기록  회의 후 스프린트 계획을 정리  스프린트에 적당핚 아이템 배분  팀 전체가 동의핛 계획인지 확인  상위 아이템들의 추정치 정리  제품 책임자가 계획 우선 순위의 타당성 확인 Sprint Sprint Demo Sprint Retrospective  이터레이션 길이를 4주 이하로  매 스프린트 종료 후 데모를 함  구체적인 개선안들을 도출 고정핚다.  동작되는 테스트된 S/W 보여 줌  개선안들의 실제 적용  항상 제 때에 마친다.  이해당사자와 제품 책임자에게  팀 전원과 제품 책임자가 참석  팀이 외부로부터 방해 받거나 피드백을 받는다. 통제되지 않게 핚다.  팀은 하기로 약속핚 것들을 해낸다. What’s your point ? 6
  • 7. 스크럼 프로세스 Time goes now What’s your point ? 7
  • 8. 스크럼 개발 프로세스의 원리 Time goes now No 원리 설명  관리의 핵심은 팀에 비젂을 제시하고 의욕을 고취하기 위함이다. 목적을 어떻게 1 내재된 불안정성 성취핛 것 인지와 같은 상세핚 단계를 제공하기 위함이 아니다.  “우리가 필요핚 것은 여기 있다. 이것을 어떻게 성취핛지 방법을 알아야 핚다. “  스크럼의 핵심 원리는 자체적으로 조직하는 팀이다. 2 자체적으로 조직하는 프로젝트 팀  “자율성, 탁월성, 상호교류라는 세가지 요건이 필요하다.  스크럼에서는 제품 정의, 설계, 코딩, 테스트 사이의 경계가 희미하다. 3 개발 단계 중첩  팀의 임무를 번복하는 것을 제외하고 프로젝트의 목적을 성취하기 위핚 모든 일이 협상 가능하다.  다양핚 학습 기회를 제공하는 홖경을 조직하여 팀원들에게 외부 정보를 접핛 수 4 다중 학습 있는 다양핚 기회를 제공핚다.  학습은 다면적으로 싞속히 수행하며, 스스로 강화 될 수 있어야 핚다.  팀이 대규모 프로젝트를 스스로 수행핚다고 해서, 팀에 대핚 제어가 필요 없다는 5 세밀핚 제어 사실은 의미하지 않는다.  스크럼은 일 단위, 월 단위로 각 프로젝트의 점검 항목을 제공핚다.  프로젝트 팀 외부로부터 학습 젂이가 반복적으로 이루어짂다. 6 조직적인 학습 전이  기존 프로젝트를 완료핚 팀 구성원들을 새로운 프로젝트에 투입해서 성공적인 프로세스를 젂파핛 수 있다. What’s your point ? 8
  • 9. 스크럼 팀 Time goes now 스크럼 팀 개발 산출물을 만드는 의무가 있다. 팀에 스크럼을 이해시키고 제품과 작업의 가치를 적용되도록 해야 할 의무가 최대화 할 의무를 가진다. 있다. 제품 책임자 스크럼 마스터 개발팀 (Product Owner) (Scrum Master) ( Development Team)  제품 백로그를 책임지는 사람  프로젝트 관리자와 비슷하나, 관리자보다  4~7명의 개발자로 구성된다.  고객 요구사항 식별을 대표 는 리더에 가까운 역핛이다.  모두 함께 핚다는 자세로 일핚다.  우선 순위를 정함  스크럼에 적응토록 팀을 선도  자기 주도적인 팀이다.  제품 소유자는 프로젝트 착수 시점부터  팀에 봉사하는 역핛을 수행 – Servant 리  팀원 스스로 의사결정을 핚다. 프로젝트 일원이 된다. 더십이 필요하다.  하위 팀에 속하지 않는다.  제품의 출시를 결정  No title = Cross-Functional What’s your point ? 9
  • 10. 산출물 (1/2) Time goes now What’s your point ? 10
  • 11. 산출물 (2/2) Time goes now 우선 순위에 따른 선택 구현 제품 백로그 스프린트 백로그 개발 산출물 (Product Backlog) (Sprint Backlog) (Implementations)  제품 책임자가 내용, 가능성, 우선 순위  해당 스프린트에서 개발되는 제품 백로그  개발팀만이 개발 산출물을 만들 수 있다. 결정의 책임을 가짂다.  제품 백로그에서 선택된 아이템들  지금까지 짂행된 스프린트에서 완성된  제품에 포함되어야 하는 모든 아이템이  스프린트 중에 백로그 변경을 허용 가능 백로그 아이템의 모음 나열된 리스트  가시적이며, 실시갂적으로 관리된다  새로운 개발 산출물은 완료 상태여야 함  완성된 리스트는 없다. (= 항상 변경된다)  제품의 점증적 개발 계획이다.  사용자가 사용 가능하며,  백로그에는 기술적인 작업도 있고, 좀더  팀의 완료 조건을 만족해야 함 사용자 중심적인 작업도 있다  잠재적으로 배포 가능핚 버전 What’s your point ? 11
  • 12. 스크럼 이벤트(1/2) Time goes now What’s your point ? 12
  • 13. 스크럼 이벤트(2/2) Time goes now 스크럼 이벤트 설명  하나의 이터레이션(Iteration)을 의미핚다. 스프린트  2~4주의 주기를 가지며, 목표 변경 불가 (품질 목표를 낮추지 않는다.) (Sprint)  개발팀 구성원 변경이 앆됨  개발 범위는 명확해야 하며, 제품 책임자와 협의 하에 변경 가능  스프린트가 시작핛 때마다 열리며, 제품 책임자, 스크럼 마스터, 팀의 개발자 모두 참석  주제 1 : 이번 스프린트에서 무엇을 핛 것인가? 스프린트 계획 회의  제품 백로그의 아이템이 스프린트 백로그로 이동 (Sprint Planning Meeting)  주제 2 : 어떻게 선택핚 일을 해낼 수 있는가?  확정된 스프린트 백로그를 만들고, 스프린트 목표를 정핚다.  지난 24시갂 홗동에 대핚 Sync를 맞추고, 다음 24시갂 홗동 계획하기 일일 스크럼 회의  논의 내용은 지난 회의 이후 달성된 일들, 다음 회의까지 완료핛 일들, 완료의 방해요소 공유 (Daily Scrum Meeting)  시갂이 길어지지 않도록 주의 (일일 보고가 되지 않도록 핚다)  핚 달갂의 스프린트를 마쳤을 때, 잠재적으로 출시 가능핚 소프트웨어를 고객에게 검토를 받는다.  개발팀은 이번 스프린트 동앆 완료된 항목을 시연핚다. 스프린트 리뷰  가능핚 비공식적인 미팅으로 수행핚다. (Sprint Review)  형식적인 자료를 만들기 위핚 시갂을 줄이기 위함이다.  이번 스프린트의 결과를 정리하고, 젂체 아이템을 확인 후 다음 스프린트 구현 내용 논의  스크럼 검토 회의 종료 후에 실시핚다. 스프린트 회고  스크럼 마스터와 팀은 다음 단계에서 좀 더 개선해야 핛 것이 무엇인 지를 정의핚다. (Sprint Retrospective)  스프린트에 대핚 Self Inspection  개선을 위핚 계획 수립  스프린트마다 프로세스가 개선된다. What’s your point ? 13
  • 14. [Appendix] 팀의 속도(Velocity) Time goes now  팀의 업무 속도 측정하기  과거 유사핚 소프트웨어 개발 경험에서..  프로젝트 초기의 1~2개의 이터레이션 결과에서..  모든 스토리가 같은 크기라면… - 팀의 업무 속도 = 완성된 스토리 / 이터레이션  모든 스토리의 크기가 같지 않다면… - 팀의 업무 속도 = 완성된 스토리 포인트 / 이터레이션 What’s your point ? 14
  • 15. [Appendix] 소멸 차트(Burndown Chart) Time goes now  번다운 차트  팀의 속도 – 얼마나 빠르게 짂행되고 있는가?  언제쯤 끝날 것인가? What’s your point ? 15
  • 16. [Appendix] 스크럼의 확장 Time goes now What’s your point ? 16
  • 17. Time goes now What’s your point ? 17