Scrumban

Planning a Scrum sprint is a difficult task, especially if you have distributed teams and can't get everyone into one meeting room. You might find that Scrum iteration planning is a waste of time altogether. However, you still need to deliver scheduled releases reliably.

In this situation you can use the Scrumban pattern. In fact, I find that many teams are using Scrumban already, without giving it a name.

In the Scrumban pattern, you skip the iteration plan. When team members are ready to work on a task, the tech leads or team members take one off the top of the project backlog. When they finish one task, they go back and get another one. This can continue for some time, until you are ready to finish your release.

Scrumban Iteration

When you are getting ready to release you do a feature freeze. You stop allowing team members to take new deliverable tasks. They will work on finishing the existing tasks and closing new bug reports. You also find any tasks that are not likely to be completed by the end of the release, and move them out of the release and back to the top of the project backlog. This is a form of "triage."

Cumulative Flow Diagram for Scrumban

Some guidelines

I find that the feature freeze often happens about two-thirds of the way through the iteration. The exact length of the feature freeze is determined by the length of time that it takes to fully test your deliverables

You should do a retrospective after each release and figure out what you want to do better in the next release. Remember to watch the actual velocity of each release for changes in productivity.