Categories
The Business of IT

Improving software delivery performance

Your organization delivers software, so it should be obvious that improving your software delivery means improving your organization. But how to improve your software delivery organization? I’m going to tell you how, and you’ll be amazed at its simplicity: To improve an organization’s performance you need to improve all the components of the organization. And, you need to know how to improve each component.

An organization is made of…

An organization is composed of people, process, and artifacts.
An organization is composed of people, process, and artifacts.

An organization is made of three types of ingredients: people, process, and artifacts.

People

People includes you and your staff, the relationships among them and between them and others, and the culture that shapes these relationships. When we talk about “improving people,” we mean developing peoples’ skills and shaping the organizational culture.

Process

Process includes the path that work follows through the organization as value is added at each step along the way to the customer. Improving process focuses on optimizing this flow of value to the customer.

Artifacts

Artifacts are the inputs that flow into the processes, the outputs that result from them, and the tools and technologies utilized in processing.

A model for improvement

The Lean methodology for improvement: build, measure, learn, repeat.
The Lean methodology for improvement: build, measure, learn, repeat.

The Lean Startup movement inspired a very effective model for rapidly improving in uncertain and risky business situations. By rapidly iterating through successive Build-Measure-Learn cycles, you systematically reduce risk and uncertainty. Each iteration through the cycle examines and eliminates the greatest remaining risk as the organization learns how to reduce its shape, size, and probability. Over time, the business carries less risk and delivers better products and services, with increasing precision (to the right customers), reliability (service quality), and control.

Improving the components of your organization

By applying the Lean model to each component of the organization, we can arrive at a prescription for improving all of them.

Build people

By “build people” we mean improving peoples’ skills and the overall culture. Several methods are effective:

  • Model new behavior. Leaders adopt, demonstrate, and reward the new behavior. This is the quickest way to change culture.
  • Exercise the new skills. This is the most effective way to acquire new skills.
  • Train.
  • Provide a mentor.

Measure people

The extent to which a person’s skills have delivered the expected results can be measured by:

  • Review by others.
  • Test.

Learn what to improve next in people

By “learn” we mean identifying the next area that needs improvement. Two ways are effective:

  • Conduct retrospectives and blameless postmortems.
  • Analyze the results of the reviews and the testing (performed in the “Measure” step).

Build process

To build—that is, to improve—process you mercilessly simplify it. For example:

  • Reduce redundancy, handoffs, and re-work.
  • Reduce batch sizes and cycle times so less work is in progress but is completed more quickly.
  • Increase visibility so the current status of all work is obvious.
  • Empower people to use their judgment.
  • Shift the drudgery to automated tools.

Process improvement cannot be delivered in isolation, however. The people and the artifacts needed to support the process must be developed in order for the process to have the desired result.

Measure process

To measure the extent to which a process has achieved its desired result, audit the process. Look for evidence that the process was followed and that the desired results were obtained.

Learn what to improve next in process

To identify the next area of process improvement to pursue:

  • Conduct retrospectives and blameless postmortems.
  • Analyze the results of the audit performed in the “Measure” step.

Build artifacts

To build (improve) your inputs, tools, and outputs:

  • Reduce variance.
  • Increase tolerances.
  • Raise standards (i.e., decrease margin of error).

Measure artifacts

To measure the extent to which your inputs, tools, and outputs have improved:

  • Test (ideally automated).
  • Survey customers, internal and external.

Learn what to improve next about artifacts

To identify the next area of process improvement to pursue:

  • Conduct retrospectives and blameless postmortems.
  • Analyze the results of the tests and surveys performed in the “Measure” step.

Applying it

Try the above model for improving your software delivery organization. Like my other clients, you will see your software delivery performance improve dramatically. Contact me if you need help.