Tuesday, November 17, 2009

Joe the Plumber and Control Theory

Joe the Plumber
and
Control Theory


Joe the Plumber

In-house.
Outsource.
Off-shore.

What can we say about their strengths and weaknesses?

Let's first consider physical goods and services.
  • Who calls Joe the Plumber to unplug their toilet?
  • Who outsources their major plumbing?
  • Who off-shores their plumbing?
  • Where was your cellphone or laptop manufactured?
Most people outsource their major plumbing, but nobody off-shores it.

Why not?

Let's set that question aside for a moment and look at...


System Control Theory


Bode Plot

Who remembers system control theory? Bode plots? Frequency and phase? Poles and zeros?

Rather than frequency and phase, I will use bandwidth and latency - they are equivalent but more descriptive in our context.

Here is the premise: In-house, outsourcing, and off-shoring development can be modeled in systems engineering terms of bandwidth and latency.

What does control theory say about bandwidth and latency?
  • If you have insufficient bandwidth for the system you are controlling, you cannot close the loop.
  • If you have too much latency for the system you are controlling, you have instability (oscillations).
Either way, the result is that you build the wrong thing.


Bandwidth = Communications


Photo by Jason Nicholls
So... what is bandwidth in our system? It is human-to-human communications.

While we do not have methods to quantify this bandwidth, it is pretty easy to rank qualitatively:
  1. Face-to-face communications. Excellent bandwidth.
  2. Telephone communications. You lose body language, but still have decent bandwidth.
  3. IRC communications — still interactive, but you lose the body language and vocal nuances.
  4. Email communications — not interactive, no nuances. It works, but when a misunderstanding occurs, it can cause major problems.
  5. Crossing a language barrier is difficult. Doing it over a speakerphone is very difficult.



Latency = Time of Flight


Photo by jpslimThe other critical system control piece is latency. Latency is the time it takes for information to travel. It is the "s" in Laplace.
  1. The number of time zones increase the average latency between a question and the answer.
  2. Heavyweight processes, contractual approval cycles increase latency.
  3. The serial nature of a waterfall development model results in latency.
(Proponents of a global development model say it results in 24 hours of development per day. That sounds good, but the dark side is that it results in 16-24 hours of latency for every question.)


The Off-Shoring Advantage


  1. Cost.
That.     Is.     It.

...and even that may be an illusion.

[shrug] Sometimes cost is everything.

Off-shoring has success where bandwidth and latency is less important, for instance, mass manufacturing of commodity items like cell phones and laptops (although latency can sting here too, such as building millions of defective items or the wrong toy for Christmas).


The Local Advantage

  1. High bandwidth
  2. Low latency.
Conclusion: Play to your strengths.

So, what did we learn from plumbing?
  • Plugged toilet: Joe the plumber has too high of latency, unplug it in-house.
  • Major plumbing: Joe the Plumber has acceptable latency and much higher bandwidth (domain knowledge, building codes).
  • Plumbing parts: off-shore — latency is not critical, but cost is.

Here is one final thought. What do Agile development methods emphasize?
  1. Close interaction with your customer — high bandwidth.
  2. Continuous integration, short iterations, incremental improvements — low latency.