계속되는 스프린트에 무뎌지던 요즘, 레트로를 하는데 우리 팀의 그루밍에 문제가 있다는 의견이 많이 나왔다.
그루밍 세션은 백로그를 체계적으로 유지하는 데 도움이 된다. 이 때 모든 팀원의 지식이 Sync up되는 것도 중요한 것 같다. 한 명이라도 이해하지 못하면 차후 스프린트에서 그 만큼의 시간이 지연된다. 45분에서 1시간 정도로 진행된다고 하나, 한참 프로덕션에서 진행중인 우리팀 경우에는 2시간 동안 진행하기도 한다. 그루밍 세션 동안 크게 아래 4가지 일이 진행된다.
1. 업무량에 따라 User Story를 나눈다.
2. 각 User Story를 논의하여 팀원이 같은 이해도를 가지고 있는지 확인한다.
3. 각 User Story가 Definition of Ready를 충족하는지 확인하고, 모자라다면 내용을 채어넣어야 한다.
4. Story Point를 할당한다.
우리 팀은 2번과 3번에 소홀했다. 그러다 보니 계속해서 스프린트 진행에 지연이 생겼다. 그래서 레트로때 했던 이야기는 2번과 3번의 충실하고 이해도가 부족하다면 이해할 시간까지 부여해서 시간 관리를 하기로 했다. 또 AC가 모호한 경우도 많았다.. 이 경우에도 당연히 스프린트 진행에 지연이 생긴다. 그래서 PO가 확실히 AC 작성하기로 약속했다.
이렇게 그루밍 세션을 갖는 것이 정말 애자일의 큰 장점같다. 급변하는 시장 상황과 우선 순위에 따라 Story를 PO, SMO 그리고 팀원들과 의논하여 추가하고 빼고를 자유롭게 조정할 수 있다. 이 때 PO의 역할이 정말 중요한 것 같다. PO가 미리 커스터머들의 우선순위를 파악해야, 개발단의 심각성이 높은 Task와 급한 User Story를 잘 조정해서 순서를 정할 수 있는 것 같다.
스파이크(Spike) 란? 기술적으로 알 수 없는 부분과 위험을 검증하도록 고안된 사용자 스토리다. 스파이크가 성공할 때 얻는 비즈니스 가치는 제품 소유자가 우선 순위화한 사용자 스토리를 설계 또는 제공하는 방법에 대한 지식이다. 스파이크의 목적은 리서치를 수행하는 데 있고 많은 경우 시간이 정해져 있으므로 원하는 결과를 달성하지 못할 수도 있다. 수준 높은 애자일 팀은 스파이크를 사용해 새로운 기술을 리서치하고 새로운 기술 구현을 테스트하거나 코드의 레거시 부분에 대한 기술적 가정을 검증한다. 성능과 안전성에 관한 엄격하고 비기능적인 수락 조건이 있는 코드를 개발하는 경우, 스파이크를 만들어 설계를 구현하고 테스트할 수 있다. 애자일 팀은 전체 개념 증명을 기술 및 설계패턴을 확인하기 위해 고안된 일련의 스파이크로 정의할 수 있다. (출처: https://www.itworld.co.kr/news/144822)
예를 들어, 안드로이드만 지원하는 프로젝트가 있고, iOS도 지원하고 싶게 하고 싶다. 갑자기 뜬금없이 iOS User Story를 작성하고 수행할 수 없을 것이다. 정확한 Requirement와 AC를 작성할 수도 없을 것이다. iOS User Story 작성 전, 새로운 기술에 대한 조사와 실험이 선행되야 할 것이다. 이때 필요한 것이 스파이크다.
스프린트 회고를 진행하면서 항상 Action Item에 대해 이야기하는데, 기존 스프린트 문제점을 보완하기 위한 실행해야하는 것이라고만 이해하고 있지 정확한 의미는 몰랐다. Kissflow라는 회사에서는 액션 아이템을 a definition of a target or an objective that is planned to be executed 라고 정의한다.