Skip to main content

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."
Speaking of Perceptions of Probability ...

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 -iSixSigma.com

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.

The story of the Red Apple's demise. NPR - The Apple That Changed The World | Planet Money

Post a Comment

Most Popular on Agile Complexification Inverter

David's notes on "Drive"

- "The Surprising Truth about what Motivates Us" by Dan Pink.

Amazon book order
What I notice first and really like is the subtle implication in the shadow of the "i" in Drive is a person taking one step in a running motion.  This brings to mind the old saying - "there is no I in TEAM".  There is however a ME in TEAM, and there is an I in DRIVE.  And when one talks about motivating a team or an individual - it all starts with - what's in it for me.

Introduction

Pink starts with an early experiment with monkeys on problem solving.  Seems the monkeys were much better problem solver's than the scientist thought they should be.  This 1949 experiment is explained as the early understanding of motivation.  At the time there were two main drivers of motivation:  biological & external influences.  Harry F. Harlow defines the third drive in a novel theory:  "The performance of the task provided intrinsic reward" (p 3).  This is Dan Pink's M…

Exercise:: Definition of Ready & Done

Assuming you are on a Scrum/Agile software development team, then one of the first 'working agreements' you have created with your team is a 'Definition of Done' - right?



Oh - you don't have a definition of what aspects a user story that is done will exhibit. Well then, you need to create a list of attributes of a done story. One way to do this would be to Google 'definition of done' ... here let me do that for you: http://tinyurl.com/3br9o6n. Then you could just use someone else's definition - there DONE!

But that would be cheating -- right? It is not the artifact - the list of done criteria, that is important for your team - it is the act of doing it for themselves, it is that shared understanding of having a debate over some of the gray areas that create a true working agreement. If some of the team believes that a story being done means that there can be no bugs found in the code - but some believe that there can be some minor issues - well, …

Team Performance Model - by Drexler and Sibbet

Many of you have all heard of the Tuckman model of team dynamics (Forming, Storming, Norming, Performing).  It was created in 1966 and has become the most popular model for describing team behavior.  Is it time to level up in your mental model of team dynamics?  Are you ready for a richer more functional model?



Introducing the Team Performance Model by Drexler and Sibbet



Orientation - Why am I here?
"Orientation is about understanding the purpose of a team and assessing what it will mean to be a member.  you need to understand the reason the team exist, what will be expected of you and how you will benefit from membership.  In a new team, these are individual concerns, because the group is only potentially a team.  that is why these concerns are illustrated as occurring in your imagination at an intuitive level.  As a team leader it is important to provide time and space for people to answer these internal questions themselves."

Keys to when Orientation challenges are resolve…

Refactoring - examples from the book

Martin Fowler's book Refactoring:  Improving the Design of Existing Code has a simple example of a movie rental domain model, which he refactors from a less than ideal object-oriented design to a more robust OO design. Included in this Refactoring_FirstExample.zip Zip file are the Java source code files of the Movie, Rental, and Customer classes. Along with a JUnit CustomerTest class. Using these example source files you too can follow along with the refactoring that Fowler presents in the first few chapters of his book.


Do You Put “CSM” After Your Name?

I’ve noticed a new trend—people have been gaining titles. When I was younger, only doctors had initials (like MD) after their names. I always figured that was because society held doctors, and sometime priests (OFM) in such high regard that we wanted to point out their higher learning. I hope it was to encourage others to apply themselves in school and become doctors also. Could it have been boastful?

The Wikipedia describes these “post-nominal initials”:
Post-nominal letters, also called post-nominal initials, are letters placed after the name of a person to indicate that the individual holds a position, educational degree, accreditation, office, or honor. An individual may use several different sets of post-nominal letters. The order in which these are listed after a name is based on the order of precedence and category of the order. That’s good enough for me.
So I ask you: is the use of CSM or CSP an appropriate use of post-nominal initials?
If your not an agilista, you may wonder …