What is the ideal sprint length?

I’ve been thinking about this a couple of ways. First, what is your definition of Done? For my teams, Done means, concisely, it can be deployed in production, and people can use it world-wide.

Then, think about your minimum batch size. How much work do you have to do to be able to add some business value and be Done at the end of a sprint? In addition to implementing new stories, what other things do you have to do each sprint to be Done, and how long does that overhead take?

For my teams, two weeks is the right sprint length. At one week, our maximum batch size is approximately 0–we add hardly any stories of business value for it to be worth our time, given the other sprint-Done activities that we do each sprint. With a two week sprint, we can add value and get the system totally stabilized and ready for production deployment. More than two weeks isn’t worth talking about, because we can get stuff Done in two weeks.