Ideas to improve cycle time

Ideas to improve cycle time

For Kanban teams, cycle time is an important flow metric which how the efficiency of the flow of work. Here are some of the ways to try to improve cycle time:

1- Set WIP limits. Cycle time reduces when we reduce the number of work items in progress. Find an optimal WIP limit, by doing experiments with the team.

2- Set the Service level expectation by looking at the historical data. E.g. The team completes 50% of the stories in 7 days and 85% of the stories in 10 days. If any story takes more than 7 days, discuss it in the retrospective meeting or standup to see where the time was spent, identify impediments and decide on any process change or action items to avoid that situation again. Consider using a value stream map to visualize the problem

3- Look at how the refinement meeting going. If a team had to spend a lot of time on something, after starting the work on the story, maybe the refinement meeting needs to be improved. Work with the team to identify the frequent causes of delay and keep them in mind when refining the stories. One way to keep them in mind is to create a checklist for refinement meeting with the list of things to discuss (when applicable) for each story, for example is test data available? Do we need to engage other teams to verify the change? etc

4- Encourage the team to take care of the tech debt and make space for it. Many times team has to refactor the code before making any further changes to it to meet the new requirement. Most of the time it is not possible to know if refactoring will be needed during the refinement of the story. It helps if the team create tech debt stories whenever they notice any place in the code where refactoring can be beneficial. This way when working on that area of code later on, focus will be only implementing what is mentioned in the requirement and not refactoring the code which cause unexpected delay in completing the work on the story.

5- Keep track of any delays and bottlenecks, in a sheet and work on process redesign if a trend is. noticed in certain bottlenecks.

6- Put hard limits on work in progress and discourage the teams from starting new work items when the other work items are not complete. Also, encourage teams to help others complete their work items before starting a new one.

7- Closely monitor the work item age. Here are some of the ideas to visulaize the work item age:

  • In Jira, a custom field can be added for work item age and write an automation rule to update it on each business day. Make that field value visible on the card in the kanban board, so that discussion can take place in the daily standup, to identify the cause of delay so far.
  • Use card colouring in Jira to change the colour of the card if the work item age is close to a targetted acceptable age, using JQL e.g. status changed to “ready for testing” after/on/before -10.
  • Move the story in a separate swimlane based on the work item age to steer the attention of the team toward the aging cards on the board.
  • Get the data of the average time a card takes in a certain column and use it to determine if the card is taking more time in the column than usual. So ruthlessly track the staleness of card in progress compared to the average time in state.

8- Work with the team to come up with a definition of ready for refinement and a definition of ready for development e.g. the story is ready for refinement if it has wireframes attached or a story is ready for development if it is not blocked by anything. Review each story for readiness, before picking it up for refinement or development. Iteratively improve the definition of ready.

9- Find a way to visualize the WIP limit and cycle time in the same chart so that it can be shown to the team how the increased WIP limit is impacting the cycle time.

10- Right-size the backlog items, keeping in mind the effort of testing, availability of test data, the complexity of the work and dependencies on other teams, so that the work once started can flow through the Kanban board smoothly. Also, take care of all the dependencies before starting the work if possible.

11- If certain recurring stories take more than an average cycle time for that type of story, have focused retro to find how the story writing or any process can be improved to help the team to consistently and efficiently deliver on the scope of the story.

12- Look for patterns in the wait time through control chat, and see how the wait time can be reduced. E.g. if many stories are taking a significant amount of time in waiting for testing, brainstorm with the team, what is causing it and what action steps should be taken to reduce the wait time.

Thanks, Vasco and the members of his Slack group chat for some of the ideas. If any one has any other ideas please share.

Tayyaba Sharif