The Value Stream Impedance Scorecard (VSIS)

< Laws of Software Development    ToC      Systems thinking and How It Can Be Applied to Frameworks and Methods >

Overview

The Value Stream Impedance Scorecard (VSIS) is a qualitative method of determining if a change to your system will be an improvement or not. It is used to predict whether a speculated “to be” state will be an improvement over the current “as is” state. It does this being guided by whether or not the change will improve value realization.  Essentially it looks to see if the resistance to flow will increase or decrease. The VSI Scorecard should be used as a heuristic as change in complex systems is not predictable although it can follow patterns.

A note on complex systems is worth making however.  Many times ideas that are intended to make things better don’t tend to work out. Improvements often end up not being improvements because they cause some interaction that was not anticipated. For example, putting a larger engine in a car may upset the car’s weight distribution and actually decrease performance.  However, if one identifies something that is impedance overall progress, removing will often result in an improvement. This is conceptually similar to the theory of constraints where we’re not trying to improve things randomly, but rather to remove a constraint in a way that improve the overall system. There is a much greater level of predictably when one improves systems by removing known challenges than by trying to improve aspects of a system.

At the end of this chapter we’ll go through a few ways the VSIS can be used to make help make decisions on process improvements.

If you are not familiar with the concept of flow, I advise you to read What is flow? before continuing.

Introduction

Many people follow frameworks that are intended to improve both the effectiveness and efficiency of their workers. Effective frameworks typically have practices that are forcing functions for good results. For example, iterations are a good way to manage work-in-process over the iterations time period. Each practice almost certainly is used to improve something about what, how, by who and when work is being done.

The question is – what is slowing us down and how can we see how to change things so they don’t slow us down. An aspect of product/IT development is that you need an understanding of what is slowing your work down. By lowering this resistance you will get more from your efforts. This is the purpose of the value stream impedance scorecard.

Systems-thinking tells us that most of the errors people make are due to the eco-system they are in instead of the individuals. That is, good people make mistakes significantly more often in bad systems than they do in good systems. For examples, testers who are located away from the development group that are given their work in big batches will not do as good a job testing as testers embedded with the development group. This does not mean that people aren’t important. It actually means just the opposite because people are important we don’t want to waste their time in bad systems and we need them to improve their current systems.

The approach therefore needs to be:

  1. Identify the challenges of your current system
  2. Understand why they are there
  3. Learn how to improve the system

This article describes the Value Stream Impedance Scorecard

  • Introducing the scorecard
  • Its roots in systems-thinking
  • The components of the scorecard
  • Using the scorecard to improve value stream impedance

The Value Stream Impedance Scorecard

The Value Stream Impedance Scorecard is a way of assessing how much resistance to identifying, creating and realizing value (both business and customer) based on observing the system in which you are working, the work being put into the system, and how people are collaborating.  There is great evidence to support the efficacy of this approach. Just as important, Lean Thinking provides an effective model for predicting what would lower this resistance. This enables us to make changes with confidence that they will be effective.

The contention is that the more impedance, the more extra work that is created.  The key word here is extra.  In other words, not only does the system slow us down, it creates additional, unneeded, work to be done as well.  Examples of this is the thrashing that often takes place when software developed by different teams are integrated.

The Value Stream Impedance Scorecard is a set of quantitative measures of the resistance to work within a value stream. These measures include how work to be done is selected, sized and sequenced, the organizational structure of the people doing the work and the way the people do the work. These measures work together to help you drive improvements to lower the resistance.

The Value Stream Impedance Scorecard highlights factors that are out of line or are causing resistance. To address resistance, you conduct experiments to address one of the factors and then examine the results in the scorecard.

The Value Stream Impedance Scorecard and systems-thinking

The Value Stream Impedance Scorecard takes a systems-thinking view to the resistance to work within a value stream. The set of quantitative measures are intertwined in a strong positive loop when improvements are made and a strong negative loop when degradations are made.  For example, increasing the number of items in play will have adverse effects on the other components of the scorecard.

This is one reason that Lean Thinking is so useful. There are seldom tradeoffs between its core mantras. This enables even a qualitative measure of the VSI of a system to provide a useful indicator of the challenges that will be encountered in a value stream. Understanding what causes a high VSI enables us to take corrective action to lower it.

The initial ideas of the VSI grew out recognizing that virtually all of the pioneering ideas that Net Objectives has created over the years were created to improve flow. Typically, we saw a challenge and understood the cause of the challenge was violating some Lean principle. We would come up with different ideas and those that reduced resistance to flow virtually always resulted in improvements.

Components of the Value Stream Impedance Scorecard

The Value Stream Impedance Scorecard is an attempt to quantify the challenges of a current value stream in a holistic way.

Here are the factors in the scorecard.

  1. How teams are organized
  2. The number of pieces and size of the work in process
  3. How the work in process is spread across the teams
  4. How well people in a value stream are working together
  5. How people are both geographically organized as well as who they report to
  6. The sequence that the work is done in
  7. The degree of automation within system
  8. The length of feedback loops for verifying assumptions and actions made
  9. The disparity between management structure and the way the real work takes place
  10. The amount of technical debt

Exploring the Value Stream Impedance Scorecard

Consider each of these factors and what they might tell you.

Factor Description
The number and size of the work in process The more there is, the more value stream impedance is evidenced in:

  • Unprioritized work
  • Large batches of work
  • More work than the development group can handle
How teams are organized How teams are organized will increase value stream impedance if:

  • Teams need to integrate after developing their work
  • Feedback on the quality of the full system implementation is delayed
How well people in a value stream are working together Is there visibility present of both the work and the workflow?

Are handoff required?

Are the working toward the same goal?

How people are both geographically organized as well as who they report to How people are both geographically organized as well as who they report to will increase value stream impedance  if:

  • The teams are not co-located (the more geographically distributed the more the impedance
  • Different roles report to different managers who manage them separate from each other (that is, the organization is highly siloed)
The sequence that the work is done in The sequence that the work is done in adds to value stream impedance if requirements, analysis, design, code and test are done as separate steps. The larger amount of work done at each step will increase this due to slower feedback.
 Amount of WIP The amount of Work-in-Process (WIP) throughout the system. There are different degrees of WIP. This includes:

  • Number of stories opened but not completed
  • Number of features started but not completed
  • Number of MBIs started but not complete
  • The number of MBIs on the product backlog that are more than necessary
Degree of automation The degree of automation within the system. The less automation there is of tests, integration, and deployment, the greater will be the value stream impedance because:

  • Regression testing will be slowed, making it more likely larger batches will be worked on thereby increasing delays to feedback
  • The time taken to do manual testing could have been used for more useful purposes
  • Manual testing is prone to be error-prone as well as incomplete
  • More manual efforts on integration and deployment means they will happen less often, thereby increasing the time to achieve feedback.
The length of feedback loops for verifying assumption and actions made Value stream impedance will increase as the length of feedback loops for verifying assumptions and actions increases. This happens because:

  • Long feedback loops increase the likelihood that the wrong things are created
  • Fixing bugs takes longer than would happen with quick feedback loops
The disparity  between management structure and the way the real work takes place  The more managers involved in a value stream the harder it is for alignment unless the managers are very well aligned.
The amount of technical debt As technical debt increases, so will value stream impedance. This happens because:

  • Unclear code requires additional time to figure out how to change it
  • Poor code quality increases the likelihood that a change will cause an error
  • These errors will often require interruptions to other work

Using the VSI Scorecard to improve Value Stream Impedance

The VSI Scorecard can be used in two ways to improve your value stream.

Use the scorecard to compare ‘as-is’ to ‘to-be’ value streams

When considering a change to how your value stream works (e.g., re-organizing the talent) you can compare the VSI Scorecard of your ‘as-is’ value stream to the projected ‘to-be’ value stream. It is surprising how clear the comparison often is. If it’s not clear an experiment can be run attending to the points that might be conflicting with each other. However, when the VSI Scorecard is combined with the Theory of Constraints, additional clarity is often achieved.

Look at the components of the VSI Scorecard to investigate possible improvements

You can improve value stream impedance by taking steps to reduce those structures, management, workflows and anything else that contributes to them. Here is a list of actions to take that can almost always lower value stream impedance.

Size, priority and amount of work

  • Use Minimum Business Increments (MBIs) to size the work.
  • Sequence the work in the order of their importance.
  • Limit the input queue to match the work capacity as overloading the input wastes time

How teams are organized,  geographically located, and who they report to

  • Create cross-functional, co-located teams
  • Teams need the skills to design, build and test user facing functionality
  • If you cannot create cross-functional teams, have teams that work together pull from a single backlog so as to be working on related items at the right time.  For more information, see Coordinating Teams with backlog management.

The sequence in which work is done

  • Use Test-First methods.  In particular, start with acceptance test-driven development (ATDD) and then add Test-Driven Development (TDD)
  • Have developers and testers work together to build and validate what is built

Work level inside the team

Increasing the following will decrease the VSI within the system

  • Automated testing
  • Automated integration testing
  • Automated deployment

Pay down your technical debt

    • Test-first methods (ATDD, Sustainable TDD)
    • Test automation
    • Understanding proper Agile design

All of the above will increase positive feedback loops which will lower the amount of induced work.

Use Value Stream Mapping

Very often a  quick look at the issues described in this article is sufficient. But a really effective way that only takes a couple of hours is to do value stream mapping. While it is true that Scrum will illustrate many impediments as its proponents suggest, with value stream mapping you can see them before taking any steps.  This can help ensure you take more effective steps. But don’t overdo it. Getting started even in the wrong direction is better than not starting a change at all.

Attend to Culture when Making a Change

While the VSIS is intended to be a measure of the resistance in the system based on Lean flow, there is always a human aspect to organizational change – culture. Culture must not be ignored. If methods are being attempted that don’t fit the organization’s culture, expect resistance and subterfuge.

How to Use the Value Stream Impedance Scorecard

I have run across many people who wonder if a change is “OK to do.” This is natural since so many people started with Agile by learning Scrum and the typical certified training people discusses how you’re supposed to follow Scrum’s practices until you better understand it. Of course, when that occurs is never discussed. When you get an idea, run it by the value stream impedance scorecard and see if it raises or lowers impedance. If it lowers it, give it a shot. If not, see how the change could be adjusted so that it does.  If not, see how the change could be adjusted so that it does.  You don’t have to look at all aspects of the VSIS, just the key ones such as:

  • Does it lower the number of delays in workflow?
  • Does it shorten the time between the time an error is made or a misunderstanding occurs and when it is discovered?
  • Does it make the size of the work to be done smaller?
  • Does it improve communication for the people involved?

Creating software has several aspects to it:

* Deciding what to create
* How creating new software affects existing software
* How people work with each other
* The process being used to build it

Although all of this creates a very complex process, only the first three are fairly unpredictable, the fourth is not.

We understand flow: Build small things quickly by removing delays in workflow, in feedback, and in using information. By attending to the theory of flow, teams can readily understand why and how they should do things. Teams no longer have to re-invent the best way to do iterative, incremental software development.

Although the value stream impedance scorecard can reasonably accurately tell us if the change is made if it will be helpful, there is no guarantee that if you decide to make the change you can really do it. And, there is, of course, the possibility that you haven’t noticed somethings that would affect the scorecard’s result. In a complex system, nothing is certain – just an hypothesis.

So, to best use the scorecard, consider it a way of deciding on experiments to try.

Exercise One – Review a Change You Made That Resulted in an Improvement

Consider a change you’ve made recently that resulted in an improvement.  Look at the value stream impedance scorecard and see if it indicated an improvement if the change were made. If it did, then you have confirmation that the VSIS can be useful. If the VSIS suggested things would get worse with the change I’d appreciate it if you would send me a note. I don’t pretend that the VSIS is perfect, but it should indicate improvements and feedback like this can assist in improving it.

Exercise Two – Review a Change You Made That Didn’t Result in an Improvement

Consider a change you’ve made recently that resulted in things getting worse. Look at the value stream impedance scorecard and see if it predicted things would get worse. If it did, then you have confirmation that the VSIS can be useful.  If it predicted it would get better, reflect on why you think that was. Was it that the change was a good idea but you didn’t actually implement it?

What can you learn from this? If the VSIS didn’t seem to work, I’d appreciate it if you would send me a note. I don’t pretend that the VSIS is perfect, but it should indicate improvements and feedback like this can assist in improving it.

Exercise Three – Consider Whether a Suggested Improvement Will Be an Improvement

While we never know for sure than an improvement attempt will actually work, the value stream impedance scorecard can often be of value in evaluating it.  Consider a change to your process that you’re considering.  What do these core questions tell you?

  • Does it lower the number of delays in workflow?
  • Does it shorten the time between the time an error is made or a misunderstanding occurs and when it is discovered?
  • Does it make the size of the work to be done smaller?
  • Does it improve communication for the people involved?

Take a look at the full value stream impedance scorecard if you are not sure.  It may not be a good idea to try it if the VSIS is indicating it will decrease flow. But if it says it should increase flow, go ahead and try it as an experiment and see what happens.

< Laws of Software Development    ToC      Systems thinking and How It Can Be Applied to Frameworks and Methods >