Saturday, November 19, 2011

Lean and Kanban for IT Operations: What is the nature of demand?

What are the different types of work?
If you look at all the types of things that IT Operations teams do, they generally fall under one of the following categories:

  • Tickets
  • Business-As-Usual (BAU) changes
  • Project work (this includes supporting development projects as well as internal improvement projects)
  • Incidents
  • Ad-hoc (aka the walk-up)
Your particular situation may be slightly different or you may prefer a different kind of breakdown but you should be able do a similar categorisation.


Is the work more predictable than you think?
At first glance, you might expect projects and BAU to be predictable and therefore able to be scheduled, while incidents and ad-hoc would be unpredictable and therefore unable to be scheduled.  Tickets would be somewhere in between.

If you look more closely, however, I would suspect that a lot of the work is much more predictable and able to be scheduled than typically believed.  A few examples:

  • Do you have tickets or incidents raised because some license or certificate is expiring soon?  Given that the expiry dates are known, this work could have been scheduled for more convenient times.
  • Are you watching capacity trends in order to be able to schedule upgrades to memory, disk space, etc.?
  • Have you noticed that tickets, changes, incidents increase around project releases?
The reason why you should be interested in predictability is that you can use that to level the demand which makes coordination easier and generally makes work life more pleasant.

How much noise is in the ticketing system?
Having noise in your ticketing system refers to tickets that aren't really going to be done and therefore interfere with your ability to see how much work needs to be done.  For example,
  • Tickets that should be scheduled in a calendar instead
  • Wishful thinking tickets.  These are typically tickets that have been around for a very long time (over a year) with no resolution.
  • Work that needs to be done but is already handled by another team.
Even if you know they are noise, it's very difficult psychologically to ignore noisy tickets without actually removing them from the system.


What to do:

  • Identify all the different types of work that is done.  You can probably get most of this from existing ticketing systems and project records but be careful about hidden demand that is not currently recorded.  You can either directly observe yourself or ask the team.
  • What is the distribution of effort based on work type?  That is, how much effort do we spend on tickets vs BAU vs projects, etc.  Is it what we think it should be?  Why or why not?
  • What is the distribution of scheduled vs unscheduled work?  How much of the unscheduled work is actually predictable?
Possible interventions based only on information acquired by this point:
  • Single request queue: Everyone on the team should only have one priority queue to determine what to do next.  In most places, this is primarily the removal of "walk-up" requests as a valid prioritisation mechanism.  You might accept the request in a walk-up but unless it is an emergency incident, it doesn't automatically get prioritised. 
  • Remove the noise: Begin reviewing and removing noisy tickets
  • Level predictable demand: Begin reviewing and scheduling predictable work 

No comments:

Post a Comment