Tuesday, March 11, 2014

Working the Brakes

In a popular post, Putting on the brakes, I explored how Standard changes and automation can be
used to burn down the backlog of common changes thereby freeing up capacity to keep pace with what the business wants.

I also discussed when to use the brakes to improve overall speed - on non standard change requests
- force prioritization by the business (should we do it now)
- require funding by the business (should we do it at all)
- coordinate properly across IT teams (make sure we do it right)

Business life is full of sharp corners.

Every IT organization is a complex system. There are IT services being used by business users, underpinned by technology and software, with skilled IT specialists and processes to support them. In fact, it's amazing that it all works as well as it does!

So when we look more closely under the covers, it's no surprise that there are in fact more problems. Lurking in all organizations there are bottlenecks. A person or process who acts as a gate. Constraining the maximum speed of execution and change in the organization.

Bottlenecks? What bottlenecks?

Technical debt

Technical debt is the work that still needs to be done. Not doing it makes subsequent work harder, less efficient and could even cause complete failure.

Common causes of technical debt include:
- lack of process or experience to define proper architecture
- time pressure to complete the project / budget for modernization
- lack of documentation & collaboration on what was done, how and why

While the notion of technical debt is really just a metaphor - the costs do mount up and the impacts are very real:
- postponed upgrades
- poor system performance or scalability
- complexity of usability or supportability

People and Process

One customer I spoke with said that it takes over 90 days to build a new server blade. Asking other customers revealed a similar problem. "Workarounds" ranged from building capacity in advance to hoarding - creating problems later down the line.

Your organization may not have a server build bottleneck - it could be a Person key to all data design or a Process supporting organizational moves.

So how do you locate a bottleneck?

Build a Flow Chart

Use a flow chart to identify where the problems are. Define the flow in terms of how value is delivered by naming specific steps in which work is done.

Examples of common steps for software or system development include
- requirements definition
- business analysis
- development of system
- testing of system

Apply the Five Whys

Start by identifying the problem area you want to address. For example, delays in project closure while waiting for customer feedback to complete acceptance testing. Start by asking why the problem occurs, and keep asking why until you have identified the root cause.

Why - because the test system isn't ready for testing
Why - because it took a week to be ready for testing
Why - because there's only one test system and it was in use for defect fixing
Why - because there's no planning of system allocation
Why - because the person coordinating with the customer left last month

There's the solution - a missing team member! So now you can just assign the task to someone else.

Unblocking a bottleneck

There are two ways to approach a bottleneck depending on the desired outcome

Reduce the input

In the second case you may try adding an additional resource for capacity again it's possible you may encounter resistance. Realize that the bottleneck resource is so skilled that training a second team member to the same level initially increases the bottleneck. One approach is to assign the most skilled / productive team members. Another option is to limit the work that the skilled resource is given - while allocating non bottleneck activity to other less skilled workers.

Increase the efficiency


In the first case you may apply automation as a way to reduce the manual effort and increase productivity. You may encounter resistance to such new approaches - the perceived loss of unique value. But I've also seen a DBA team start using an automation tool and be thankful that they got their evening and weekend lives back! Help them understand what's in it for the them.

What bottlenecks have you encountered and what creative solutions have you tried?




No comments:

Post a Comment