삽질의 현장/- 에자일

애자일_#002_ Scrum? Scramble?

shovelman 2015. 6. 18. 15:50

사랑합니다 여러분 ~! (얼떨결에 고백;;) 

삽잡이 인사드립니다. 

날씨가 참 좋네요. 좋은 날씨속에 집에 있으니 참... 좋네요...

           


여러분 저 은둔형 외톨이 그런거 아닙니다... 오해마세요...

           



아하하... 장난입니다...

여러분 저 정말 바쁜 사람입니다... 

지금껏 제대로 포스팅을 안했던 것이 아니라 못했던 것입니다...

죄송합니다... 오늘은 좀 헛소리가 길었네요...



오늘은! 지난시간에 이어서 에자일 방법론에 대해서 알아보려고 하는데요,

그중에서 첫번째!

스크럼(Scrum)에 대해 알아보도록 하겠습니다.

스크럼 ...? 스크럼블 ...?



놉... 스크럼입니다... 스펠링도 다르죠... scrum & scramble ...

이런 x드립을 날린이유는...

스크럼 한번 들어보고 아는척한다고 스크럼블이라고 말했던 기억이 떠올라서.... (리얼..)


진짜 정신차리고 들어가봅시다!



스크럼은 프로젝트 관리를 위한 애자일 방법론이라고 합니다. 

스크럼에서는 우선, 

긴 개발기간을 잘게 쪼개어서 반복 개발 기간으로 구성합니다. 

그 짧은 개발 기간의 주기가 끝날때마다 실행가능한 프로그램을 하나씩 만드는 것이죠!


지난 시간에 언급을 했었는데요, 

애자일 방법론은 반복점진적 개발을 기본 스타일로 가진다고 했습니다. 

큰 그림을 잘게 나누어 그 나누어진 구간마다 산출물을 냄으로써 

언제든 바뀔 수 있는 기획에 능동적으로 대처할 수 있고, 

먼 목표를 바라보는 것이 아닌 바로 앞의 목표에 도달하기때문에 

질리지 않고 보다 효율적으로 프로젝트의 궁극적 목표에 다가갈 수 있지 않을까요?


아무튼... 긴 개발기간을 잘개 쪼갠다. 스크럼에서는 스프린트라고 부르며 

'달력기준 1~4주 단위의 반복개발기간'을 가리키고 있답니다.

실제로 스프린트는 사전의 도움을 빌리자면 

'단거리를 전력으로 수영하거나 달리는 일'이라는 뜻이 있습니다. 애자일에서 이름하나 잘 가져온거 같습니다.

잘개 나눈 개발기간 마다 전력으로 달린다...

장기간 레이스를 전력으로 달리는 것 보다 조금씩 구간을 나누어서 전력으로 달린다면?

여러분은 어느것이 더 효율적이라고 생각하십니까?


계속해서 진행해보도록 하겠습니다.

대충... 이제 대~~충 스크럼이 약간은 '이런 분위기구나!'를 느끼셨을까요... (하... 나의 필력이 부족...)


스크럼의 프로세스를 구성하는데는 

위에서 언급한 스프린트, 3가지 유형의 미팅과 산출물이 필요합니다.


1. 스프린트


2. 산출물 (제품 백로그, 스프린트 백로그, 소멸 차트)


3. 미팅 (스프린트 계획, 일일 스크럼, 스프린트 리뷰)


스크럼 프로세스를 하나씩 밟아보면서 설명해보도록 하겠습니다.

자... 여러분은 현재 실무에 계신 분이며, 프로젝트를 앞두고 있습니다... 
자 상상해보세요...
전문가들이 보면 비웃을.... 
아하하.... 중고딩 여러분... 대딩 여러분 상상해보세요!



우선, 만들고자하는 제품 (프로젝트의 결과물이겠죠)의 기능에서 중요한 순서대로 작성합니다.

우선순위를 정리한 목록을 제품 백로그(Product Backlog)라고 합니다. 

(참고로 제품 백로그에 정의된 기능을 사용자 스토리라고 부른다고 하네요.)


제품 백로그를 만들었다면 스프린트 계획을 세우는 것이죠. (스프린트 계획)

스프린트(나눈 구간)에 대한 목표들을 세우고, 제품 백로그에서 정리한 목록에 있는 기능들을 

어느 스프린트에 개발할지에 대해 계획을 할 것입니다.


그 뒤에는 하나의 스프린트 동안 개발할 목록을 만듭니다. (스프린트 백로그)

사용자 스토리(제품 백로그에 정의된 기능)에 있는 기능을 개발하는데 완료되는 시간단위를 추정하고 

그 기능을 구현하는데 필요한 작업을 나누어 백로그를 정의하는 것이죠!


자.. 그렇다면, 이제 개발을 시작합니다. 첫번째 Cycle이 시작되었습니다...

하루하루 매일 약 15분간의 프로젝트 진행 상황을 공유하는 회의를 진행합니다. (일일 스크럼)

모든 팀원들이 뭐를 진행했으며 어떤 문제가 있고 

할당된 task 중 얼만큼을 수행할 수 있다 등등의 이야기를 하는 것이죠... 

중요한 것은 무겁지 않은 가벼운 분위기! 뭐 맨날 무겁고 심각한 회의를 맨날 한다면... 웩...


해당 스프린트 기간의 목표를 벗어나지 않는 가정하에 유동적으로 개인에 맞도록 일을 할당시킬 수 있겠네요.

뭐 어쨋든 뭐로가도 아름답게 서울로만 가면 되지 않습니까?


자... 이제 할당된 업무를 수행하며 완료 했다거나 

특이사항이 있다면 자신의 한 일을 공유하는 것입니다.

스프린트가 어떻게 흘러가는지 확인할 수 있는, 

개발을 완료하기까지 남은 작업량을 보여주는 소멸차트를 통해서요!



모든 스프린트가 종료되면 이제 스프린트 리뷰를 진행합니다.

스프린트 목표 달성 여부 및 결과물을 확인하는 회의를 진행하는 것이죠. 

해당 회의를 통해 데모를 시연하고 피드백을 받게 됩니다.


마지막으로 스프린트 동안 잘된 점, 아쉬웠던 점, 개선해야하는 사항들을 찾고자 회고를 진행합니다.

 

여러분은 스크럼 프로세스에 대해 간접적으로 경험을 해보셨습니다! 와우!

지금까지 줄줄이 써 내려온 글을 잘 만들어진 그림 하나로 정리해보겠습니다.


 



짜잔! 이제 어찌 스크럼에 대해서 조금은 이해가 가시나요?

저는 이 포스팅을 하면서 경험 해본 스크럼에 대해서 정리할 수 있는 시간이었습니다!

물론 저는 스크럼 프로세스를 전체 다 경험해 본것은 아니니까요!


스크럼에는 세가지 역활이 있는데요,

제품 책임자, 스크럼 마스터, 스크럼 팀 이렇게 나뉩니다.

간단하게 설명하자면, 

제품 백로그를 만들고 우선순위 조정 및 항목 추가와 같이 제품을 총 책임 하는 사람이 제품 책임자!

스크럼의 원칙과 가치를 지키며 길을 잘 이끄는 스크럼 마스터!

5-9명의 팀원으로 구성되어 구현에 힘쓰는 스크럼 팀!

이렇게 나뉩니다. 저는 스크럼 팀원이었겠죠?? 혹시 나만 그렇게 생각....


아무튼... 포스팅을 하려면 자엽스럽게 공부를 해야되는데요

참 매력있는 스크럼이었습니다. 

실제로 얼마나 많은 곳들에서 이와 같은 방법론들을 

자신들의 무리의 프로세스와 잘 접목시켜 수행해 나가는지는 잘 모르겠으나

저또한 조그만한 프로젝트라든지... 훗날 제품을 책임질 만한 직책에 올라갈 일이 있다면

지혜롭게 수행해나가보고 싶습니다.

(훗날 이 글을 읽고 부끄러워하려나...)


아하하... 아무튼 유익한 시간이었을지 모르지만...

저는 유익했습니다... 예 우선 저는요... ㅎㅎㅎ


다음시간에는 더 알찬 정보를 가져오길 희망하며...

이상 삽잡이였습니다!



[참고자료]

#애자일 초심자를 위한 애자일 SW개발 101 #소프트웨어공학센터 #구글님


[검색 키워드]

#Agile #Agile 방법론 #Scrum #스크럼