Getting to Done: Problems with Flow

Recently, I was asked to consult with a new software team that had been struggling to deliver a working product consistently. This team has been together for about 6 months and is leveraging 2-week sprints within an 8-person Scrum team. The team had consistently failed to complete their sprint goals despite various attempts to adjust their work items. After several discussions, I discovered the team’s main problem – inefficient flow.

“Flow” is not something that Agile teams tend to focus on when they first begin to apply Scrum practices. In my experience, most teams need to first adapt to the various events such as Sprint Planning, Daily Scrum, Review and Retrospective, which can take several sprints. These events are not inherently complex, but to people who are new to this way of working, it can feel overwhelming. Most experienced coaches will likely state that new teams will require 3 or 4 sprints to establish a consistent rhythm, which seems logical. Some teams will likely take longer in my own experience.

Around the 5 or 6 sprint mark, a Scrum team will likely encounter problems that are centered around “flow”, or lack thereof. Many teams discover this issue by doing one (or more) of the following:

  1. Begin too much work at once. Most new Scrum teams are accustomed to starting as much work as possible in order to ensure everyone is “fully occupied”. This may seem logical at first, if we consider the fallacy of “multi-tasking”, context-switching will very quickly degrade the team’s productivity if to much work is in progress at any given time.
  2. Allow or encourage individual work. Many teams that I have worked with assign work items to individuals, which creates mini-silos. A team cannot optimize its performance if everyone is working by themselves.
  3. Create large work items. Having large units of work that requires the entire timebox/sprint to complete will create bottlenecks within the team and slow down overall output and delivery of value.

What can you do about these problems? Here are a few ideas to try.

  1. Establish WIP (Work In Progress) limits – by setting constraints on how much work can be “active” within each stage of the lifecycle will minimize context-switching and improve focus and productivity.
  2. Encourage team collaboration (also known as “swarming”) – if someone finishes his/her work earlier than expected, don’t start a new work item by default; try to help out the other team members and get their work items to “done” before starting something new.
  3. Monitor cycle time – investigate the amount of time the team requires to get work out the door. This can be used as a basis for improvement over time through optimization of processes and/or tools. WIP limits may also be adjusted accordingly.

Next time your team runs into issues delivering against their original plan, it may be worthwhile to explore how work is flowing through your team; it may help you discover new ways to make your team even more effective than before.

Eugene Lai
Eugene Lai