Joe the Plumber
and
Control Theory
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?
Why not?
Let's set that question aside for a moment and look at...
System Control Theory
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).
Bandwidth = Communications
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:
- Face-to-face communications. Excellent bandwidth.
- Telephone communications. You lose body language, but still have decent bandwidth.
- IRC communications — still interactive, but you lose the body language and vocal nuances.
- Email communications — not interactive, no nuances. It works, but when a misunderstanding occurs, it can cause major problems.
- Crossing a language barrier is difficult. Doing it over a speakerphone is very difficult.
Latency = Time of Flight
The other critical system control piece is latency. Latency is the time it takes for information to travel. It is the "s" in Laplace.
- The number of time zones increase the average latency between a question and the answer.
- Heavyweight processes, contractual approval cycles increase latency.
- The serial nature of a waterfall development model results in latency.
The Off-Shoring Advantage
- 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
- High bandwidth
- Low latency.
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?
- Close interaction with your customer — high bandwidth.
- Continuous integration, short iterations, incremental improvements — low latency.