The more I travel, the more I find myself observing how business travel (particularly flying) is a lot like application development. Process the flow of travelers (business value) through a system much like ideas flow from inception to delivery. When reviewing the processes of the business traveler (delivery), I keep asking myself why the system has so much room for improvement and why we as participants within it don't fix it. I notice many travelers do few things that provide direct value (save time). Rather, we do things that either provide little or no value but are necessary or are just wasteful.
As a business traveler, I want to arrive to a destination as quickly as possible without violating identified constraints.
Constraints: Quality and Cost
Quality (safety thresholds):
We want to make sure that some knucklehead does not get on a plane and do something destructive. Rather than quality, the FAA calls this security. In the end, the underwear bomber who unsuccessfully detonated his skivvies mid-flight is like discovering a severity one bug in Production. It would have been a lot cheaper, if this guy was stopped at a security checkpoint and prevented from getting on the plane in the first place. As a result, I have Bubba the TSA Agent measuring me for a pair of pants every time I opt out the body scan. Do these theatrics actually increase quality? I'm not sure. But I digress. [TSA Removing Body Scanners?]
We want to ensure planes don't fall out of the sky, due to mechanical issues. In an attempt to ensure we don't go below this quality threshold, the FAA requires airlines to conduct regularly scheduled maintenance on aircraft. As stakeholders, both the airlines and passengers see maintenance translate as on-time departures. As this relates to application development, customers don't always think (or care) about code refactoring, fixing bugs, or paying down technical debt. Still, if they don't want the system to crash or have a delayed launch, this out-of-site process has to take place on a regular basis.
Cost (budget thresholds):
As a business traveler, I expect my costs to fluctuate, based on quality and the speed in which I move through the system. If I want to move through parts of the system faster, I can pay more. In the end, local optimization just makes the process seem less painful. It is, until you get to the next step or stage of the process.
The overall system:
- I arrive at the airport (park in the Daily garage) [every 15 minutes a shuttle arrives]
- I stand in line at the security (TSA) checkpoint. [1-30 minutes]
- Choice of x-ray or full body scan [pay more for express search] [1-20 minutes]
- I opt out? [doesn't necessarily increase quality] [5-10 minutes]
- I arrive at gate and
- Board flight by "zone" 1st Class, Zone 1, 2, 3 [0-20 minutes]
- Fly to destination [varies]
- Land at destination and disembark the aircraft [5-15 minutes]
Though you can have several local optimums within the system, like any process we need to look at optimizing the system as a whole.
Look for bottlenecks and address them. There is a bottleneck if a lead time exists between the start of one of the eight processes listed above and its execution (completion). A lead time is the latency (delay) between the initiation and execution of a process. For example, the lead time between getting into the security (TSA) checkpoint line (process step 2) may be anywhere from 1 to 30 minutes. In industry, lead time reduction is an important part of lean manufacturing. In application development, it allows us to shorten our iterations or feedback loops. In travel, it allows us to get on with our lives with less impact to events happening outside the system.
One way I've seen people shorten the lead time at this process step is to just be ready. Sounds obvious but you would be surprised. There are signs and videos leading up to the security area. TSA instructs you to have your boarding pass and photo identification ready. They inform you what is allowed and what is not allowed (step 3). I've seen countless travelers wait until they are at the podium before digging through purse or pocket, only to have a minor panic attack because they can't find a drivers license.
I've seen the same thing with application development. Teams don't have their work ready and then there are delays in getting it done.