일이 언제 끝나는지 알려면 일을 하는데 걸리는 속도를 알아야 합니다. 우리에게는 스토리 포인트라는 추정한 값이 있기 때문에 이 값으로 예측할 수 있습니다.

예를 들어 총 200포인트의 일감이 있고 모두 완료해야 한다고 가정해 봅시다. 한 스프린트에서 우리가 몇 포인트의 일감을 처리할 수 있는지 안다면 몇 번의 스프린트가 필요하고 그래서 언제 끝나는지 예측할 수 있습니다. 만약 우리가 한 스프린트에서 50포인트를 처리할 수 있다면 4번의 스프린트가 지나면 일이 끝날 것이라고 알 수 있습니다.

이렇게 한 스프린트에서 처리할 수 있는 포인트 수를 벨로시티 라고 부릅니다.

그래서 구현할 기능의 포인트 총합을 벨로시티로 나누면 필요한 스프린트의 횟수를 알 수 있고, 만약 일정이 고정되어 있다면 가능한 스프린트 횟수와 벨로시티를 곱해서 기간 내에 처리할 수 있는 일감이 어느 정도인지 예측할 수 있습니다.

그렇다면 이 벨로시티는 어떻게 알 수 있을까요? 벨로시티는 정하는 것이 아니라 구하는 겁니다. 하나의 스프린트를 끝낸 다음 실제로 완료된 항목의 포인트를 합산하여 벨로시티를 구하는 것입니다.

그런데 벨로시티만으로 모든 일을 예측할 수 있는 것은 아닙니다. 프로덕트 백로그에 있는 것은 우리가 포인트로 추정을 해놓았기 때문에 포인트로 예측할 수 있지만, 릴리스를 하다 보면 다른 팀과의 협업이나 외부 사정에 의해서 일정을 예측할 수가 없죠. 그래서 백로그를 처리하는 스프린트와 릴리스를 위한 릴리스 스프린트로 따로 분리하는 것도 좋은 방법입니다.

계획을 하더라도 계획이 자꾸 틀어지면 대처하기 어려울 수 있습니다. 완벽한 계획을 세우기보다는 계획을 지속적으로 보완해야 합니다. 계획은 수립하고 끝나는 것이 아니라 계속해서 다듬어야 합니다.