2019.11.18

애자일 성과와 실행 개선의 핵심··· '번다운 보고서'의 이해와 활용법

Isaac Sacolick | InfoWorld
별다른 지식이 없고 정보가 부족한 사람에게는 애자일 관행이 임시 소프트웨어 개발 및 프로젝트 관리 방법론으로 여겨질 수 있다. 그러나 실제로는 그렇지 않다.



애자일 소프트웨어의 12가지 원칙 중 하나는 '최고의 아키텍처, 요건, 설계는 자체적으로 조직되는 팀에게서 나온다'는 것이다. 그러나 스크럼과 칸반 등 애자일을 도입한 대부분 기업은 몇 가지 중요한 프로세스 엄격함과 의식을 강요한다. 예를 들어, 많은 기업이 애플리케이션 릴리즈의 비즈니스 영향, 품질 및 신뢰성을 개선하기 위해 스토리 포인트 추정, 아키텍처 표준 및 릴리즈 관리 분야를 포함한 애자일 기획을 한다.

대부분의 팀은 지라 소프트웨어(Jira Software) 또는 애저 데브옵스 같은 애자일 툴을 사용해 애자일 팀 간의 백로그, 스프린트 및 협업을 관리한다. 이들 툴의 주요 목적은 애자일 팀원 및 여러 개의 애자일 팀 간에 요구사항, 스프린트 상태, 워크플로우 및 협업을 중앙에서 관리하는 것이다. 따라서 조직이 이러한 툴을 더 엄격하게 사용할수록 리더와 팀이 문제를 식별하고, 상태에 대해 이해관계자에게 보고하고, 실행을 개선하는 데 더 많은 도움이 된다.

이런 툴을 통해 만들 수 있는 가장 유용한 보고서 중 하나가 번다운 보고서다. 애자일 관행으로 인해 제품 소유자는 고객 피드백에 따라 백로그의 우선순위를 다시 정할 수 있다. 갠트 차트(Gantt charts) 같은 전통적인 보고서는 애자일 실행의 이런 유동성을 포착하지 못한다. 번다운 차트의 기본은 완료된 작업, 범위에 추가된 새로운 작업 및 기타 범위 변경을 설명하는 것이다. 번다운 차트는 팀이 목표를 향해 나아가는 방법을 간단한 그림으로 보여준다.

기본 스프린트 번다운 차트 읽기
번다운 차트는 일반적으로 x축을 따라 시간이 있고 y축에는 추정치가 있다. 많은 팀이 스토리 포인트에서 추정하지만, 많은 애자일 툴은 몇 시간 안에 스토리 또는 추정치의 수에 따라 번다운을 차트로 나타낼 수 있다(여기서는 스토리 포인트를 사용한다고 가정한다).

스프린트 번다운 보고서는 시간 간격의 범위에 있는 스토리 포인트의 수를 표시한다. 팀이 스토리를 완성할 때, 이 차트는 작업이 완료되거나 스프린트가 끝날 때까지 스토리와 기타 유형의 작업 목록(지라의 이슈, 애저 데브옵스의 작업 항목 유형)을 ‘번다운’하는 방법을 보여준다. 팀이 스프린트에 대한 작업을 완료하면, 표시된 선이 x축을 교차하면서 모든 작업이 완료되었음을 나타낸다.

스프린트 번다운은 가장 쉽게 개념화할 수 있다. 스프린트 첫날, 그 팀은 몇 가지 스토리와 스토리 포인트의 총 개수를 할당한다. 만약 당신이 그날의 번다운 차트를 검토한다면, 당신은 팀이 스프린트의 0일에 할당한 포인트 수를 나타내는 y축의 단일 포인트를 보게 될 것이다. 스토리 완료가 표시되면 스프린트 번다운은 완료해야 할 포인트의 잔여 개수를 보여준다.

스프린트 번다운은 실제로 어떻게 사용할 수 있을까. 건강한 번다운은 0까지 내려가는 선형 및 지수 곡선을 보여준다. 곡선이 스프린트 초기 부분에서 평평한 기울기를 갖는 경우 블록 또는 많은 작업이 진행 중임을 나타내며 스프린트가 위험할 수 있음을 의미한다. 평평하거나 완만한 경사를 그리는 번다운은 코드 완성 스토리에 대해 많은 테스트를 수행하는 경우 그리고 스프린트의 마지막 며칠까지 테스트 작업을 시작할 수 없는 경우에 매우 문제가 될 수 있다.

빠르게 떨어지는 스프린트 번다운은 일반적으로 좋은 일이지만, 이것은 그 팀이 힘을 덜 쏟고 있거나 스프린트에서 더 작은 스토리만을 맡기로 했다는 것을 나타낼 수도 있다.

비즈니스 및 기술 드라이버에 대한 에픽 번다운 추적 진행
스프린트 번다운은 단기 실행을 추적하는 데 매우 유용하고, 팀이 스프린트 약속을 성공적으로 이행하는 데 도움이 된다. 장기적인 목표와 비교해 진행을 더 잘 추적하기 위해, 에픽 및 릴리즈 번다운은 필요한 가시성을 제공한다. 팀이 주요 최종 사용자 기능 구현, 기술적 채무 전략, 성능 개선 또는 프로세스 진화와 같은 여러 가지 장기간의 노력을 정의할 때 에픽 번다운은 가장 잘 작동한다. 백로그가 에픽 번다운을 이용하려면 다음과 같은 것을 고려해야 한다.

- 최소 몇 달 동안 지속되고 완료되어야 할 스프린트가 6개 이상인 에픽이 5개에서 15개 사이
- 에픽 아래서 모습을 보이고 에픽에서 실행되는 높은 수준의 계획을 보여주는 특징, 스토리, 그리고 스토리 스텁.
- 에픽 하에서 등장하는 각각의 스토리 또는 스토리 스텁에 대한 스토리 포인트에서의 이상적인 높은 수준의 추정치

일단 이것이 갖춰지면, 에픽 번다운은 이 계획의 변화를 도표로 보여준다. 그것의 x축은 스프린트를 나타내며, y축은 에픽에 할당된 스토리와 스토리 스텁의 총 추정치를 나타낸다. 지라 소프트웨어의 에픽 번다운 차트에서는 스프린트에서 완성된 이야기를 나타내는 한 가지 색상과 추가된 스토리 포인트를 보여주는 두 번째 색상의 막대그래프를 볼 수 있다. 에픽에 새로운 스토리나 스토리 스텁이 추가되거나 추정치가 변경될 때 스토리 포인트가 증가한다. 이러한 에픽 번다운 차트를 사용하는 몇 가지 팁이 있다.

- 에픽 번다운 차트는 업무 계획의 특징과 스토리를 완성하는 속도를 보여준다. 계획이 정확하고 팀 속도가 일관적인 경우, 에픽의 작업이 완성될 때 지표를 제공할 수 있다.
- 대부분의 애자일 계획은 완전하지 않으며, 팀은 최종 사용자의 피드백, 기술적 복잡성의 발견, 그리고 작업 중 만들어진 기술적 부채 문제의 해결에 기초해 스토리를 추가, 변경, 제거한다. 그다음 에픽 번다운은 스프린트 별로 완료되는 것에 비해 백로그가 얼마나 증가하고 있는지에 근거해 에픽이 계획에서 얼마나 멀리 떨어져 있는지를 보여준다.
- 에픽 번다운도 복수의 스프린트 간의 벤치마크 노력을 도와주고 에픽 하나 대 다른 에픽에서 얼마나 많이 기획과 전달 작업이 완료되었는지를 가늠한다.
 
릴리즈가 일자와 범위에 맞는지 알려주는 릴리즈 번다운
지속적인 통합, 지속적인 테스트 및 지속적인 전달을 통해 전달 파이프라인을 완전히 자동화하는 노련한 팀은 릴리즈 번다운이 필요 없을 수도 있다. 자주 배포하는 팀은 어떤 특징과 스토리가 릴리즈와 연관되어 있는지 추적해야 하지만, 릴리즈 번다운은 종종 스프린트로 진행 상황을 추적하기 때문에 그다지 유용하지 않기 때문이다.

반면 릴리즈 관리 관행을 따르고 다중 스프린트 릴리즈를 표준화하는 팀의 경우 릴리즈 번다운이 제품 소유자 및 팀의 가장 중요한 툴일 수 있다. 릴리즈 번다운은 에픽 번다운에 할당된 특징, 스토리, 스토리 스텁을 추적하는 대신 릴리즈에 할당된 내용을 보여준다는 점을 제외하고는 에픽 번다운과 유사하다. 축과 막대는 에픽 번다운과 동일하다.

따라서 릴리즈 번다운을 사용하는 팀은 릴리즈의 범위와 일정을 추적할 수 있다. 정상적인 진행을 보이는 팀은 팀 속도와 일치하는 기울기를 가진 x축으로 내려가는 번다운을 보게 될 것이다. 정상적인 진행에서 벗어났을 수 있는 릴리즈는 현재 완료되는 것보다 (더 많은 기울기가 릴리즈에 추가될 때) 더 작은 기울기를 가지거나 추가되는 스토리 포인트를 더 많이 묘사한다.

지라 소프트웨어는 이러한 예측을 돕는다. 팀이 적어도 3개의 스프린트에 대해 프로젝트를 진행했다고 가정할 때, 지라 소프트웨어는 평균 팀 속도를 계산하고 이 속도에 기초해 릴리즈를 위한 스프린트 종료를 예측한다.

스프린트, 에픽, 릴리즈 번다운은 팀이 목표에 맞춰 사용하기 쉬운 몇 가지 툴을 제공한다. 팀이 범위에 대한 이해를 공유하고, 우선순위에 합의하고, 미리 몇 가지 스프린트를 계획하고, 백로그에 있는 스토리를 적절히 태그할 때, 번다운은 계획과 실행이 목표와 일치하는지를 말해준다. 즉, 일치하지 않을 때에는 어떤 조정이 필요할 수 있는지에 대한 논의를 촉진할 수 있는 데이터 기반 툴이 번다운인 것이다. ciokr@idg.co.kr



2019.11.18

애자일 성과와 실행 개선의 핵심··· '번다운 보고서'의 이해와 활용법

Isaac Sacolick | InfoWorld
별다른 지식이 없고 정보가 부족한 사람에게는 애자일 관행이 임시 소프트웨어 개발 및 프로젝트 관리 방법론으로 여겨질 수 있다. 그러나 실제로는 그렇지 않다.



애자일 소프트웨어의 12가지 원칙 중 하나는 '최고의 아키텍처, 요건, 설계는 자체적으로 조직되는 팀에게서 나온다'는 것이다. 그러나 스크럼과 칸반 등 애자일을 도입한 대부분 기업은 몇 가지 중요한 프로세스 엄격함과 의식을 강요한다. 예를 들어, 많은 기업이 애플리케이션 릴리즈의 비즈니스 영향, 품질 및 신뢰성을 개선하기 위해 스토리 포인트 추정, 아키텍처 표준 및 릴리즈 관리 분야를 포함한 애자일 기획을 한다.

대부분의 팀은 지라 소프트웨어(Jira Software) 또는 애저 데브옵스 같은 애자일 툴을 사용해 애자일 팀 간의 백로그, 스프린트 및 협업을 관리한다. 이들 툴의 주요 목적은 애자일 팀원 및 여러 개의 애자일 팀 간에 요구사항, 스프린트 상태, 워크플로우 및 협업을 중앙에서 관리하는 것이다. 따라서 조직이 이러한 툴을 더 엄격하게 사용할수록 리더와 팀이 문제를 식별하고, 상태에 대해 이해관계자에게 보고하고, 실행을 개선하는 데 더 많은 도움이 된다.

이런 툴을 통해 만들 수 있는 가장 유용한 보고서 중 하나가 번다운 보고서다. 애자일 관행으로 인해 제품 소유자는 고객 피드백에 따라 백로그의 우선순위를 다시 정할 수 있다. 갠트 차트(Gantt charts) 같은 전통적인 보고서는 애자일 실행의 이런 유동성을 포착하지 못한다. 번다운 차트의 기본은 완료된 작업, 범위에 추가된 새로운 작업 및 기타 범위 변경을 설명하는 것이다. 번다운 차트는 팀이 목표를 향해 나아가는 방법을 간단한 그림으로 보여준다.

기본 스프린트 번다운 차트 읽기
번다운 차트는 일반적으로 x축을 따라 시간이 있고 y축에는 추정치가 있다. 많은 팀이 스토리 포인트에서 추정하지만, 많은 애자일 툴은 몇 시간 안에 스토리 또는 추정치의 수에 따라 번다운을 차트로 나타낼 수 있다(여기서는 스토리 포인트를 사용한다고 가정한다).

스프린트 번다운 보고서는 시간 간격의 범위에 있는 스토리 포인트의 수를 표시한다. 팀이 스토리를 완성할 때, 이 차트는 작업이 완료되거나 스프린트가 끝날 때까지 스토리와 기타 유형의 작업 목록(지라의 이슈, 애저 데브옵스의 작업 항목 유형)을 ‘번다운’하는 방법을 보여준다. 팀이 스프린트에 대한 작업을 완료하면, 표시된 선이 x축을 교차하면서 모든 작업이 완료되었음을 나타낸다.

스프린트 번다운은 가장 쉽게 개념화할 수 있다. 스프린트 첫날, 그 팀은 몇 가지 스토리와 스토리 포인트의 총 개수를 할당한다. 만약 당신이 그날의 번다운 차트를 검토한다면, 당신은 팀이 스프린트의 0일에 할당한 포인트 수를 나타내는 y축의 단일 포인트를 보게 될 것이다. 스토리 완료가 표시되면 스프린트 번다운은 완료해야 할 포인트의 잔여 개수를 보여준다.

스프린트 번다운은 실제로 어떻게 사용할 수 있을까. 건강한 번다운은 0까지 내려가는 선형 및 지수 곡선을 보여준다. 곡선이 스프린트 초기 부분에서 평평한 기울기를 갖는 경우 블록 또는 많은 작업이 진행 중임을 나타내며 스프린트가 위험할 수 있음을 의미한다. 평평하거나 완만한 경사를 그리는 번다운은 코드 완성 스토리에 대해 많은 테스트를 수행하는 경우 그리고 스프린트의 마지막 며칠까지 테스트 작업을 시작할 수 없는 경우에 매우 문제가 될 수 있다.

빠르게 떨어지는 스프린트 번다운은 일반적으로 좋은 일이지만, 이것은 그 팀이 힘을 덜 쏟고 있거나 스프린트에서 더 작은 스토리만을 맡기로 했다는 것을 나타낼 수도 있다.

비즈니스 및 기술 드라이버에 대한 에픽 번다운 추적 진행
스프린트 번다운은 단기 실행을 추적하는 데 매우 유용하고, 팀이 스프린트 약속을 성공적으로 이행하는 데 도움이 된다. 장기적인 목표와 비교해 진행을 더 잘 추적하기 위해, 에픽 및 릴리즈 번다운은 필요한 가시성을 제공한다. 팀이 주요 최종 사용자 기능 구현, 기술적 채무 전략, 성능 개선 또는 프로세스 진화와 같은 여러 가지 장기간의 노력을 정의할 때 에픽 번다운은 가장 잘 작동한다. 백로그가 에픽 번다운을 이용하려면 다음과 같은 것을 고려해야 한다.

- 최소 몇 달 동안 지속되고 완료되어야 할 스프린트가 6개 이상인 에픽이 5개에서 15개 사이
- 에픽 아래서 모습을 보이고 에픽에서 실행되는 높은 수준의 계획을 보여주는 특징, 스토리, 그리고 스토리 스텁.
- 에픽 하에서 등장하는 각각의 스토리 또는 스토리 스텁에 대한 스토리 포인트에서의 이상적인 높은 수준의 추정치

일단 이것이 갖춰지면, 에픽 번다운은 이 계획의 변화를 도표로 보여준다. 그것의 x축은 스프린트를 나타내며, y축은 에픽에 할당된 스토리와 스토리 스텁의 총 추정치를 나타낸다. 지라 소프트웨어의 에픽 번다운 차트에서는 스프린트에서 완성된 이야기를 나타내는 한 가지 색상과 추가된 스토리 포인트를 보여주는 두 번째 색상의 막대그래프를 볼 수 있다. 에픽에 새로운 스토리나 스토리 스텁이 추가되거나 추정치가 변경될 때 스토리 포인트가 증가한다. 이러한 에픽 번다운 차트를 사용하는 몇 가지 팁이 있다.

- 에픽 번다운 차트는 업무 계획의 특징과 스토리를 완성하는 속도를 보여준다. 계획이 정확하고 팀 속도가 일관적인 경우, 에픽의 작업이 완성될 때 지표를 제공할 수 있다.
- 대부분의 애자일 계획은 완전하지 않으며, 팀은 최종 사용자의 피드백, 기술적 복잡성의 발견, 그리고 작업 중 만들어진 기술적 부채 문제의 해결에 기초해 스토리를 추가, 변경, 제거한다. 그다음 에픽 번다운은 스프린트 별로 완료되는 것에 비해 백로그가 얼마나 증가하고 있는지에 근거해 에픽이 계획에서 얼마나 멀리 떨어져 있는지를 보여준다.
- 에픽 번다운도 복수의 스프린트 간의 벤치마크 노력을 도와주고 에픽 하나 대 다른 에픽에서 얼마나 많이 기획과 전달 작업이 완료되었는지를 가늠한다.
 
릴리즈가 일자와 범위에 맞는지 알려주는 릴리즈 번다운
지속적인 통합, 지속적인 테스트 및 지속적인 전달을 통해 전달 파이프라인을 완전히 자동화하는 노련한 팀은 릴리즈 번다운이 필요 없을 수도 있다. 자주 배포하는 팀은 어떤 특징과 스토리가 릴리즈와 연관되어 있는지 추적해야 하지만, 릴리즈 번다운은 종종 스프린트로 진행 상황을 추적하기 때문에 그다지 유용하지 않기 때문이다.

반면 릴리즈 관리 관행을 따르고 다중 스프린트 릴리즈를 표준화하는 팀의 경우 릴리즈 번다운이 제품 소유자 및 팀의 가장 중요한 툴일 수 있다. 릴리즈 번다운은 에픽 번다운에 할당된 특징, 스토리, 스토리 스텁을 추적하는 대신 릴리즈에 할당된 내용을 보여준다는 점을 제외하고는 에픽 번다운과 유사하다. 축과 막대는 에픽 번다운과 동일하다.

따라서 릴리즈 번다운을 사용하는 팀은 릴리즈의 범위와 일정을 추적할 수 있다. 정상적인 진행을 보이는 팀은 팀 속도와 일치하는 기울기를 가진 x축으로 내려가는 번다운을 보게 될 것이다. 정상적인 진행에서 벗어났을 수 있는 릴리즈는 현재 완료되는 것보다 (더 많은 기울기가 릴리즈에 추가될 때) 더 작은 기울기를 가지거나 추가되는 스토리 포인트를 더 많이 묘사한다.

지라 소프트웨어는 이러한 예측을 돕는다. 팀이 적어도 3개의 스프린트에 대해 프로젝트를 진행했다고 가정할 때, 지라 소프트웨어는 평균 팀 속도를 계산하고 이 속도에 기초해 릴리즈를 위한 스프린트 종료를 예측한다.

스프린트, 에픽, 릴리즈 번다운은 팀이 목표에 맞춰 사용하기 쉬운 몇 가지 툴을 제공한다. 팀이 범위에 대한 이해를 공유하고, 우선순위에 합의하고, 미리 몇 가지 스프린트를 계획하고, 백로그에 있는 스토리를 적절히 태그할 때, 번다운은 계획과 실행이 목표와 일치하는지를 말해준다. 즉, 일치하지 않을 때에는 어떤 조정이 필요할 수 있는지에 대한 논의를 촉진할 수 있는 데이터 기반 툴이 번다운인 것이다. ciokr@idg.co.kr

X