Agile 애자일

스크럼(SCRUM)과 애자일(Agile) 그리고 프로젝트관리

twoslicesoftoast 2021. 3. 3. 07:14

애자일(Agile)을 이야기할때면 스크럼(Scrum)이 빠지지 않고 등장한다. 그만큼 애자일(Agile)접근에 가장 보편적으로 사용될 만큼 스크럼(Scrum)의 규칙이 단순하고 배우기 쉬운편이기 때문일것이다. 애자일(Agile)과 관련된 책들을 읽다보면, 결국 스크럼(Scrum)이  각각의 요소요소에 사용되고 있었다. 스크럼 창시자인 켄 슈와버와 제프 서덜랜드가 쓴 최신 가이드북은 www.scrum.org에서 다운로드 받을 수 있다. 30개 언어로 번역된 본도 다운로드 받을 수 있으며, 고맙게도 Francis Youngmin Kim님이 번역한 한국어 버전도 있다.

 

쉽다고는 하나, 스크럼(Scrum)이 제대로 운영되기 위해서는 스크럼의 가치애자일 선언문의 원칙을 제대로 이해해야만 할 것이다. 여러 번 읽고, 적용해보면서 이것이 그리 간단하지 않다는 것을 체험하는 중이다. 이해는 한 것 같은데, 기억하고 적용할 때 잘 설명하지 못한다거나 기대와 다르게 받아들이거나 등등 아직 배워가는 중이니 겪는 일일 것이다. 그래서 이 곳에 적어가면서 정리해보고자 한다.

 

아래 이미지는 스크럼의 용어와 Head First Agile 책에서 스크럼의 설명 부분을 참조하여 정리해본것이다.

스크럼의 팀원은 최소 3명에서 최대 9명을 추천한다. 스크럼팀이 구성되기 위해 개발팀, 제품책임자, 스크럼마스터가 각기 역할을 해야 하므로 최소 3명의 기준이 되며, 개발팀의 각 분야의 전문가로 구성될 경우 그 인원이 더 늘어나는데 9명을 넘기게 되면 스크럼의 각 이벤트 미팅에서 의견조율이 쉽지 않기 때문이다.

 

현재 근무하고 있는 인원이 모두 8명이다. 자체 상품을 만들고 있으므로, 고객을 대신하는 기업의 대표가 제품책임자인셈이다. 지시형의 PM에서 벗어나 스크럼 마스터로 팀이 목표에 맞춰 몰입할 수 있도록 케어하는 역할이 스크럼 마스터이다. 또한 스크럼에 대한 이해를 도와 스크럼의 가치인 개방, 존중, 용기, 집중, 몰입이 이뤄질 수 있도록 하는 역할을 맡는다. 현재로서는 내가 맡는 역할이다. 그리고, 스크럼에서 가장 중요한 실행팀인 개발팀에 UI/UX에 두명, Programmer 4명으로 구성되어 있다.  우리가 만드는 상품이 애자일 협업 플랫폼인만큼 애자일선언문의 원칙과 스크럼의 가치에 준하여 프로젝트를 진행하고 관리하였으면 한다.

 

일을 할때 서로간의 소통이 잘되지 않거나, 노하우가 잘 쌓이지 않고 개개인에 치중되어 있으므로 인한 불필요한 시행착오, 상명하달방식의 업무체계등으로 인한 무력감등으로 자기주도적 업무환경이 이뤄지지 못하고 기계적으로 일하는 경우가 많다. 애자일선언문의 원칙에 스민 스크럼의 가치에서 말하는 개방, 존중, 용기, 집중, 몰입이 될 수 있는 업무환경을 만들어 보자고 만들어진 것이 애자일 협업 플랫폼이다.  지난 프로젝트를 돌아보면 부분적으로 애자일원칙을 지키려고 노력했으나 늘 그렇듯 빠듯한 일정으로 서로 많이 고생한 시간이었다. 올 3월부터 시작해보는 스크럼으로 프로젝트 관리를 통해 고객의 만족도를 높이고, 프로젝트 구성원 또한 자기시간을 스스로 조율할 수 있는 환경을 만들었으면 좋겠다. 

 

Head First Agile 책의 스크럼 설명을 보면, 실제 상황을 연출하여 설명하는 방식이다. 이때 나오는 멘트들이 하나같이 현장에서 겪는 내용들이라는 점에 공감이 많이 간다. 

 

그 중 하나로 완료를 정의하는 기준이 다르다라고 설명한 부분이다. 개발팀의 경우 보통 자신이 맡은 코딩, 디자인이 끝나면 완료로 본다. 그런데, 이것은 구동하는 소프트웨어가 아닌 경우가 많다. 오류로 인하여 제대로 작동하지 않는 경우가 있으며, 디자인했던 것과 퍼블리싱한 결과물이 다를때도 있다. 스크럼에서는 완료를 제품증분일때 완료라는 표현을 쓴다. 즉 작동하는 하나의 제품, 소프트웨어여야 한다. 이에, 스프린트 계획 수립 시 이 완료에 대해서 모든 스크럼팀이 완벽히 이해를 하고, 제품백로그에서 스프린트 백로그로 옮겨오는 아이템(Feature)의 수를 제대로 정할 수 있다.

 

초기에 목표를 정하고, 모든 내용을 순차적으로 진행되며, 초기에 정한 가정이 잘못된경우 변경 제어 프로세스에 의존하는 워터폴 방식의 프로젝트 관리와 다르게 스크럼의 경우는 매일 의사결정을 진행하다는 점이 다르다.

 

우선순위에 의해 더 시급하게 진행해야 하는 것들이 들어오면,  스프린트 기간내 완료할 수 있게 피처를 재구성할 수 있다. 이번 스프린터에 어떤 피처를 구축할지, 그 피처의 순서는 어떻게 할지, 사용자들이 해당 피처에 어떻게 반응할지, 어떤 기술이 필요할지에 대해서 주기적인 패턴에 의해 매일 의사결정한다. 투명성, 점검, 적응으로 이루어지는 세가지 특징을 포함하는 주기를 사용하는데, 계획수립(투명성), 일일스크럼(투명, 점검, 적응)을 통해 스프린트백로그에 아이템을 추가하거나 제거할 수 있다. 이러한 주기는 스크럼의 모든 이벤트에 녹아 있다.

 

애자일선언문 원칙 중 다음 세가지는 스크럼팀에 스크럼을 이해하는데 도움이 된다.1. 우리의 최우선 순위는, 가치 있는 소프트웨어를 일찍 그리고 지속적으로 전달해서 고객을 만족시키는 것이다.2. 최고의 아키텍처, 요구사항, 설계는 자기 조직적인 팀에서 만들어진다.3. 비록 개발의 후반부일지라도 요구사항 변경을 환영하라. 애자일 프로세스들은 변화를 활용해 고객의경쟁력에 도움이 되게 한다.

 

30일단위의 스프린트를 통해 점진적인 발전이 가능하다는 점이 1에 해당한다고 보여진다. 각 스프린트의 끝에는 제품의 증분이 있고, 제품 증분은 잘 작동하느 소프트웨어의 결과물이 덧 붙여지는 것이기 때문이다.

 

스프린트 계획에 모두 참여한다. 그리고, 목표를 정하고 그 목표에 맞게 아이템을 정하고 누가할지를 스스로 결정할 수 있기에 2번이 가능하다. 

 

스크럼의 경우 프로젝트의 초반에 모든 것을 결정하지 않는다. 책임이 따르는 마지막 순간에 의사결정을 하며 지금 바로 계획할 필요가 있는 작업만 계획한다. 매 스프린트별로 변화된 상황을 적극 수용하고 의사결정을 내리기에 3번 역시 가능하다.