First, check what Scrum Guide says:
The heart of Scrum is a Sprint, a time-box of one month or less during which a “Done”, useable, and potentially releasable product Increment is created. Sprints have consistent durations throughout a development effort. Scrum Guide
So, ‘one month or less’ still doesn’t answer the question. But it gives us a clue that the aim is to create a “Done” increment which is potentially releasable that Product Owner can choose to release.
It suggests that a team should be able to create a “Done” increment and this will provide the minimum length of a Sprint.
Above statement depends upon multiple factors, such as:
- How big is the Development team?
- Skills and maturity of the Development team?
- Type of product and technology used
- Definition of “Done”
- How big Product Backlog Items are?
Furthermore, the Scrum Guide also suggests:
When a Sprint’s horizon is too long the definition of what is being built may change, complexity may rise, and risk may increase. Scrum Guide
So, Sprint length also depends upon how complex and volatile an environment is.
It will drive how often the feedback should be received so that the Scrum team can inspect the product increment and reduce the risk of building the wrong thing.
So, what contributes to the complexity:
- How quickly are customers needs changing?
- How quickly are the market conditions and competition changing?
- How stable is the technology and proficiency level of the Development Team?
- How long can the Scrum team wait without Stakeholders’ feedback to maximise the value of what they have built?