본문 바로가기
프로그래밍 놀이터/Tips

[애자일] Scrum 개발방법론

by 돼지왕 왕돼지 2021. 1. 24.
반응형

 

 

-

애자일 소프트웨어 공학 중 하나.

 

 

-

원칙

    개발 주기마다 적용할 기능이나 개선에 대한 목록 작성 (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, 스프린트 목표 그래프 업데이트.

 

위와 같이 자율적이고 능동적으로 개발방법론 적용을 위해서는 구성원들의 참여도가 높아야 함. ( 자발적 구성 조직일수록 좋다. )

그리고 솔직해야 하며, 실력도 출중 ( 혹은 상호 파악 ) 해야 좋다.

 
 

 

 

 

반응형

댓글