Monday, May 22, 2017

Exploiting Variability: A Principle of Product Development Flow

What do these phrase have in common - what is their inherent consistent meaning?

  • Zero Defects
  • Take the time to do it Right
  • Repeatability and Reliability
  • Process Maturity Model
  • Measure twice, cut once
  • Six Sigma
  • Rework is Waste, Lean processes remove Waste

They are ironically consistent in their purpose to reduce variability.  Don Reinertsen will attempt to convince us that in the domain of product development (unlike other domains) variability may not be the enemy of good.  He will argue that it is the economic payoff-function of this outcome that is of upmost concern in design.

Voltaire's aphorism:  Perfect is the enemy of good.

I'm in a group at work that is reading books on Agile software development topics to what purpose... well to learn I hope.  After Lyssa's book on Coaching Agile Teams we turned the knob up to 11 with Don Reinertsen's Principles of Product Development Flow.  Since it's such a tough read, a dense book with so much knowledge, we have a divide and conquer mind set... we read a chapter and present it to the group (knowing that the group as an aggregate will not read the book).  So my chapter is #4, Exploiting Variability.  This is my plan... to add variability to the typical book report that a group of people might fall into the habit of performing - by adding variability to the format.
"We cannot add value without adding variability, but we can add variability without adding value." -- Don Reinertsen

Agile in 3 Minutes: #23 Vary by Amitai Schlair
...the conclusion "Projects by design and in effect magnify risks."

Ok let's play.  Did you know that play is rooted in variability? (Games and the Human)

"... however different their descriptions and interpretations of play, each rhetoric reveals a quirkiness, redundancy, and flexibility. In light of this, Sutton-Smith suggests that play might provide a model of the variability that allows for “natural” selection. As a form of mental feedback, play might nullify the rigidity that sets in after successful adaption, thus reinforcing animal and human variability. Further, he shows how these discourses, despite their differences, might offer the components for a new social science of play."  
-- The Ambiguity of Play by Brian Sutton-Smith

Fundamental to this discussion is the .... pardon the overuse of the phrase.... various types of domains that humans participate in.  We shall need to distinguish between the creative domains of design and innovation from other domains such as manufacture or agriculture.  In some domains the desire for variability is low, and in these endeavors humans have done well to reduce variance.  However in the more creative endeavors this tendency is harmful.  One doesn't wish for an artist to produce the exact same work of art repeatedly for 20 years.  Now that we agree upon that basic fundamental concept.  Do we agree that software development is a creative act?  If not - you should click on an exit link now...  because we have a fundamental disagreement and I will not be able to sustain the cognitive dissonance required for both of us to continue.

A challenge...  simulate to streams of flow ... one with variability and one without... 1, 2, 3, go....

Conteneo's Ideas into Action(tm) framework
[V1] Principle of Beneficial Variability: do not make the mistake of only paying attention to the probability of success (benefit).  "Paying attention to the payoff-function radically transforms our view of variability."

[V2] Principle of Asymmetric Payoffs:  not all payoffs are the same... we are searching for big payoffs.  In this search, we seek the complicated asymmetric function  (see the 1997 Nobel Prize for Economics: Robert merton & Myron Scholes for Black-Scholes option pricing model).  In this realm live the venture capitalist - start to understand their principles and models.

[V3] Principle of Optimum Variability: It is only via the economic transformation of variability (Payoff Function) that we can judge the goodness of variability.  The notion that all variability is bad (therefore eliminate variability) is to totally misuse the concept.  If one cannot graph the payoff function - one doesn't understand the economies at work.

In the [V4] Principle of Optimum Failure Rate we find the distinction between exploratory testing which should be optimized to generate information and therefore will have high failure rates (close to 50% or you're not doing exploratory testing well).  Versus the design validation tests (strive for 100% success rate) where success looks like green bars.  Noting that most companies do a poor job of communicating their failures - and therefore repeat their failures, thereby produce no new information.  "Only new failures generate information."

There are two approaches to the economics of variability - change the amount of variability or change the economic consequences of that variability.

First attempts to reduce variability.

[V5] Principle of Variability Pooling: overall variation decreases when uncorrelated random tasks are combined.
[V6] Principle of Short-Term Forecasting:  forecasting becomes exponentially easier at short-term horizons.
[V7] Principle of Small Experiments:  many small experiments produce less variation than one big one.
[V8] Repetition Principle:  repetition reduces variation.
[V9] Reuse Principle:  reuse reduces variability.
[V10] Principle of Negative Covariance:  we can reduce variance by applying a counterbalancing effect.
[V11] Buffer Principle:  buffers trade money for variability reduction.

Time for you to participate - give me an example from your place of employment for each of those attempts to reduce variability - this should be easy.

Lastly attempts to reduce the economic consequences.

[V12] Principle of Variability Consequence:  reducing consequences is usually the best way to reduce the cost of variability.
[V13] Nonlinearity Principle:  operate in the linear range of system performance.
[V14] Principle of Variability Substitution:  substitute cheap variability for expensive variability.
[V15] Principle of Iteration Speed:  it is usually better to improve iteration speed than defect rate.
[V16] Principle of Variability Displacement:  move variability to the process stage where its cost is lowest.

Don concludes the chapter by stating: "Variability is not the enemy; it is a tool to create economic value."  Can you weird this powerful tool?

See Also:
Variation: The Root of All Process Evil

Don't confuse Reinertsen's Product Development Flow with the more general psychological term Flow by psychologist Mihaly Csikszentmihalyi's famous investigations of "optimal experience." A discovery that revealed what makes an experience genuinely satisfying is a state of consciousness called flow.

Post a Comment