애자일 선언과 스크럼 이야기
무엇이든 제대로 알고자 하면 많은 시간과 노력이 필요한 것처럼 애자일의 세계도 비슷하다는 걸 느낍니다.
더더군다나 이 애자일이라는 녀석은 어느 한순간에 뿅 하고 나타났다기보다는 꽤 오랜 시간 동안 개념이 더욱 정교해지고 진화하며 실전에 적용됨에 따라 변천사가 꽤나 화려합니다. 그만큼 알아야 하는 게 많다는 뜻이기도 하겠죠? 이 여정을 제대로 가기 위한 저를 위해 또 이후 애자일에 궁금해하실 분들을 위해 부족하나마 정리를 해보려 합니다.
1. 애자일 선언(Agile Manifesto):
초보자의 관점으로 바라보니 춘추전국시대 같은 애자일의 세계에서 어찌 보면 천하통일까지는 아니어도, 굵직한 선을 긋는 사건이 있었다고 한다면 [애자일 소프트웨어 개발 선언]인 듯해요. 2001년 17명의 리더가 모여 애자일의 철학과 원칙에 대해 정리하고 선언함으로써 애자일의 핵심을 잘 천명하고 설명했다는 생각이 듭니다.
소프트웨어 개발에 있어 방법론과 how to만이 언급될 거 같지만, 제가 가장 먼저 놀란 건 사실 여기서 ‘가치’를 언급하고 있다는 점이었어요.
왼쪽에 있는 것도 가치 있지만 오른쪽에 있는 것에 더 높은 가치를 둔다는 말을 통해 ‘일이 되게 하는 것의 중요성’ 위에 어쩌면 그것을 해나가는 방식을 더 낫게 만들고, 함께 더 잘하기 위해 고민하는 것이 애자일 선언의 핵심이 아닌가 혼자는 생각해 봅니다. 특히 ‘상호작용’, ‘작동하는’, ‘협력’, ‘변화에 대응’ 이런 단어들에서 애자일의 키워드를 느끼게 됩니다.
잡힐 듯 안 잡히는 애자일의 세계에서 가장 많이 언급되고 애자일 = ‘이것’이라 종종 통용되기도 하는 스크럼에 대해서도 말해보려 합니다.
2. 스크럼(Scrum)
팀이 중심이 되어 개발의 효율성을 높이는 애자일의 대표적인 관리 방법
(글을 쓰다 보니, 해당 블로그의 글과 사진을 많이 참조하게 되어, 올립니다. 스크럼의 개념에 대해 잘 정리해 주셨네요! https://post.naver.com/viewer/postView.naver?volumeNo=36092876&memberNo=6457418&vType=VERTICAL)
단어의 뜻과 유래부터 알기 좋아하는 나답게 들은 대로 한 번 설명해 보겠습니다. 스크럼은 원래 럭비에서 파울이 일어나면 각 팀이 어깨동무를 한 상태로 머리를 맞대며 2팀이 서로 전진하려는 모습에서 유래한 용어라고 합니다. 아래 사진이 스크럼을 더 설명할 필요 없이 너무 잘 설명해주고 있죠? 코치, 스크럼, 피봇 등 스포츠 용어가 비즈니스로 넘어와 많이 사용된다는 점도 흥미롭네요.
결국 소프트웨어 개발 방법론의 하나로 설명되는 애자일의 스크럼이란 전통적인 개발 방식인 워터폴처럼 한 작업을 마친 후 다음으로 전달, 넘어가는 ‘계주 경기’ 방식보다는 모든 팀원들이 한 덩어리로 뭉쳐 서로 공을 주거니 받거니 하며 함께 밀고 나가는 럭비경기 같은 형태가 바람직하다는 뜻이라고 해요.
이런 스크럼의 프레임워크를 잘 보여주는 자료 한 장을 가져와 봅니다. 제가 애자일을 배우고 있는 저의 사부, 컨그루언트 애자일의 조승빈 코치님이 만들어주신 상큼한 장표죠. 직찍이라 빛도 들어온 현장감 넘치는 사진이네요;
- 스크럼 팀: 스크럼을 구성으로 보자면 스크럼 팀에는 3가지 역할이 필요합니다. PO라 불리는 제품 책임자, 우리가 너무 잘 아는 개발자, 그리고 이 전체 프레임워크가 잘 작동하도록 관리하고 책임지는 스크럼 마스터입니다. 이러한 스크럼 팀은 10명 이하의 팀이 적당하며, 팀 안에 필요한 모든 스킬이 갖춰져 있어야 합니다.
- 스프린트(Sprint): 어찌 보면 스크럼의 가장 주요 개념이 아닐까 싶기도 한데요. 이 역시 육상, 수영, 축구, 스케이트 등 스포츠에서 쓰이는 ‘단거리 전력질주’라는 뜻이라고 합니다.
스크럼에서 스프린트는 팀이 일정량의 작업을 완료하기 위해 “짧은 주기”동안 빠르게 수행하며 반복하여 일하는 모습이라고 해요. 그만큼, 단기간에 높은 성과/품질의 결과물을 만들어내겠다는 의지와 목표가 느껴지기도 합니다.
스프린트는 최대 1달 이내(4주)로 정하며 적절한 주기를 팀이 스스로 결정합니다. 흔히 2주를 많이 선택해 스프린트 하며 2주가 저도 떠오르네요.
속도감 있는 스타트업은 1주일로 가기도 한다는군요. 스프린트는 이 프레임워크 안에서 매번 반복해서 일어납니다. 매 sprint가 시작될 때마다 planning을 하며(최대 8시간까지 가능함) 그 이후 리뷰와 회고가 진행되겠죠.
그다음은 스프린트 계획, 스프린트 리뷰, 스프린트 회고, 일일 스크럼을 그 사이클 안에서 순차적으로 진행합니다.
- 스프린트 계획: 스프린트의 첫 단계로 목표를 설정, 정해진 기간 동안 달성하고자 하는 구체적인 결과물이나 기능에 대해 정한다.
- 일일 스크럼: 스프린트 기간 동안 매일 짧은 회의를 통해 문제점을 그때그때 해결
- 스프린트 리뷰: 스크럼 팀뿐 아니라, 프로젝트 관계자나 사용자 등 이해관계자와 함께 리뷰 회의를 하며 피드백을 받는다.
- 스프린트 회고: 리뷰 이후 회고를 진행해야 함. 스프린트 과정에서의 작업 방식, 팀웍, 문제 해결 등을 돌아보며 다음 스프린트에 개선할 점을 논의한다.
더불어 스프린트를 할 때 많이 언급되는 제품 백로그와 스프린트 백로그에 대해서만 덧붙여 설명해 보려 합니다.
- 제품 백로그: 제품을 개발하기 위해 수행할 작업의 목록과 우선순위, PO가 선정
- 스프린트 백로그: 스프린트 기간 동안 스프린트팀이 수행할 작업(To Do List)
오늘은 여기까지만 정리해 볼게요. 다음엔 칸반과 현업에서 말하는 애자일 이야기 등 참여했던 웨비나를 통해 배운 점을 기록해 보겠습니다 :)