Manish has taken up the role of a Scrum Master in a new team which has recently adopted Agile. The team is responsible for support and maintenance of a very important enterprise application and has adopted iteration based delivery model. All the support and maintenance requests are raised through a ticketing tool and come to the team as tickets. They are required to deliver only high severity production defects with quick turnaround; however, such defects are very rare. In fact, the team has not seen such a ticket in last few months. Other support and maintenance tickets are prioritized, higher priority ones which can be delivered in a two week period, are clubbed together and delivered at the end of a two week iteration. Tickets are treated as User Stories in the agile delivery management tool. Manish finds that most of the user Stories, require some approvals before team could start working on them. Also, sometimes, team requires some clarifications or data from the user and waits for them before starting work on the ticket. These factors add to the overall turnaround time of the tickets and at times wastes time of the team members who wait for approvals or clarifications etc. Sometimes this leads to User Stories not getting delivered in the iteration. Manish wants to avoid this waste, improve the cycle time of user stories and overall productivity.
What would be your advice to Manish?
For support and maintenance teams, Kanban model is better suited as it helps in managing continuous flow of work. Manish could explore that option and consider use of Kanban Board to have a good view of tickets in various states and Work in Progress. However, let’s first examine what he could do in the current iteration based delivery model.
Each iteration is preceded by a Backlog Grooming session where User Stories for upcoming iterations are examined, clarified and fully understood by the developers, making them ready for action by the developers. Manish and team could use the Backlog Grooming session to identify the prerequisites (approvals, clarifications etc.) required by User Stories and initiate actions for those to be addressed. This way, by the time iteration starts, prerequisites will get addressed and developers can then execute their actions without any wait. This will help reduce the cycle time and improve the productivity.
Now let’s examine how Kanban helps in this situation. Refer to the figure below. Tickets logged by the Users arrive as user Stories in Arrival State. From Arrival state they move to Prerequisites state where their prerequisites are identified and actions for addressing prerequisites are initiated. User Stories for which prerequisites have been addressed are marked as “Ready “. User stories on which development is happening are in “Development” State. As soon as development is completed on a user Story it moves to next state – “User Confirmation”. The developer who is free now, can pull a “Ready” User story from “Prerequisites” State into “Development” state and start working on it. User stories that are confirmed by users move to delivered state from where they can be moved to production.
Looking at the Kanban Board, team can get a good idea of how many stories are in arrival queue, How many are waiting for prerequisites to be addressed, how many are ready to move to development, how many are in development, how many are waiting for user confirmation and how many are ready to move to production. Developer do not have to wait anywhere, cycle time is kept low and productivity high.