Stop starting and start finishing with Scrumban
In my previous blog, I spoke about how it could take a service request around 5 months to circle back to the user. In this blog, we will try to understand the crux of the problem. Some of the reasons that I can think of are:
- Lack of visualization of the end-to-end work flow, resulting in less focus on resolving the impediments which increases the lead time.
- Work is pushed to the team; each team member handles multiple work items. This results in constant context switching which makes them inefficient.
- Work is piled up in work-in-process stage, resulting in lost focus to finish work which adds up to the lead time.
- My favorite ones are the UFOS, these land from nowhere, take most of team's bandwidth, and no one sees them except a few. Some examples of UFOs are estimation of backlog items, production text changes, and an urgent ad-hoc report. These requests land in team's inbox with the priority almost equivalent to a national emergency, so all the items in work-in-progress are compromised to attend to these UFOs.
So, how do we address these challenges? Though there are multiple versions of lean and agile methods, in my opinion, the one that is perfect for a maintenance scenario is "Scrumban". Yes, it is a combination of Scrum and Kanban.
Refresher on Scrum: Split the organization into small, cross-functional as well as self-organizing teams. Split the time into short fixed-length iterations and focus on regularly delivering shippable features to the users. Scrum places emphasis on individuals and their interactions over process and tools, working software over comprehensive documentation, customer collaboration over customer negotiation, and responding to a change over following a plan.
Refresher on Kanban: Visualize the workflow to improve the lead and cycle times. This too suggests splitting work into smaller pieces to make it easy to manage. This method prescribes limiting the work in progress for each workflow state, focuses on eliminating bottle necks, and emphasizes more on finishing existing items before starting new ones.
Then, what is "Scrumban"? In simple words, it is a combination of the two methods mentioned above to increase the flow efficiency of work stream with all the advantages that Agile Scrum offers.
How does it address our current problem?
- Three focus areas: visualizing the workflow to remove any possible bottle necks and impediments, thus finishing work in hand before adding new work items and managing the high priority items without disrupting the planned work.
- Two main cadences - The first takes care of planned maintenance requests, time-boxed, and delivered every 2 or 4 weeks, and without getting interrupted. It runs in a scrum iteration way. The second cadence takes care of unplanned work in a Just-in-Time fashion with focus on improving work flow.
- Two charts - burndown chart shows the remaining work to be completed projecting a possible iteration completion date, and cumulative flow chart shows the trend on the average lead time and the flow efficiency.
The essence of Scrumban lies in its 3 core principles:
- Continue with what you do now
- Improvise best practices, processes, roles, and responsibilities
- Make incremental and evolutionary changes
Except for a few policies, it does not prescribe whole lot of changes. So teams do not have to stop what they are doing now and start a new way. The change can be incremental and evolutionary, making it easy for the teams to adapt and evolve.
Like other agile techniques Scrumban is run by self-organizing teams, with focus on continuous improvement, delivering frequently or on-demand, with increased client collaboration.
So... stop starting and start finishing with Scrumban.