Choosing the Right Sprint Length for an Agile Data Team
How long should the sprint length be for an agile data team? It depends on several considerations that I explore in this article. Your goal should be to adopt what works best for your team in the context that it faces.
A sprint is a short time box, also referred to as an iteration, during which a team produces a new increment of whatever product or service they are working on. In the case of a data team, this would be a new (potential) release of a data product, data warehouse, business intelligence (BI) solution, and so on.
Common Sprint Lengths
The following table summarizes my thinking about some common sprint lengths.
Sprint Length | Advantages | Disadvantages |
Four weeks or more. This is a spectacularly bad idea. |
|
|
Three weeks |
|
|
Two weeks |
|
|
One week. This is my preferred sprint length for agile data teams, although it can require a fair bit of improvement work to get to this. |
|
|
One day or less. With a one day sprint you potentially release daily into production, often on a regular schedule (e.g. at 3 am every day). |
|
|
I’d just like to say one thing about the one day or less sprint length. Are you still working in sprints at this point? In my mind you’re effectively working in a continuous delivery manner, albeit one in which you queue changes to release only once a day. This smells like a semantic issue to me, rather than a pragmatic one.
Sprint Length Heuristics
I’d like to share the following words of wisdom about choosing the right sprint length for an agile data team:
- It depends. There isn’t an official, prescribed “best practice” for sprint length. Your real goal is to find a sprint length that works best for your time given your context, and that might even mean you abandon the idea of working in sprints all together.
- Shorter is better than longer. In general, shorter sprint lengths motivate you to find more effective WoW. They also shorten the feedback cycle, improving your ability to react to changes.
- Start with with a two-week sprint. When a team is relatively new to working in an agile manner my starting point for sprint length is two weeks. I’ll suggest this even when I suspect the team will struggle at first because I want to surface sprint-induced problems right away to see how people react to them. This can be frustrating for people, and risk low team morale at the start of an initiative, but it also forces people to focus on adopting new WoW and rethinking some of their previously held beliefs, and on finding ways to make it work out.
Factors that Affect Sprint Length
In order of impact, the following factors affect your team’s ability to shorten their sprint length:
- Mindset. Do you accept that working in short sprints is effective? Do you embrace change? Do you strive to improve your WoW? Are you willing to work closely with others?
- Skillset. Do you have the agile data skills to work in short sprints?
- Domain complexity. The greater the complexity of the domain that you face, and in particular the greater the complexity and poor quality of the data that you’re working with, the more motivated you’ll be to work in longer sprints.
- Tooling infrastructure. Do you have the requisite tools and infrastructure to support DataOps and agile data WoW?
To summarize, the sprint length that is best for your agile data team depends on many considerations. Your goal should be to choose the right sprint length for your context, to strive to learn and improve over time, and to adjust accordingly as your situation evolves. There is no one right answer that works perfectly for every time, but you can discover what works best for your team right now.
Related Resources