You want to go faster. Your commute, lines for coffee, your software releases: every single one of these can’t happen fast enough. The reason why is because the journey itself provides no value. Your commute is boring and long; it’s not until you arrive that you receive any benefit. Until you get your coffee, waiting for it provides you nothing. Your software is an exercise in pointlessness until your customer can use it; having it sit in a release queue does you no good.
When we talk about speed in software delivery, we don’t mention “wait states” enough. We speak about the amount of time it takes to move through a process, not the time you sit waiting for the process to begin.
The term “wait state” originally referred to a central processing unit (CPU) waiting on another component. So, the CPU simply stopped until the other component was ready. Typically, that wait was due to a hard drive spinning up or memory being allocated. A long time ago, processor manufacturers realized that this was the biggest blocker to PC performance, so they started adding buffers in the address bus.
Consider this other example from the past: your developers needed a physical server to deploy software for smoke testing. In turn, they requested a machine and had to wait weeks, if not months, for approval and requisition. Then, when the machine arrived they had to wait again for racking, stacking and configuring. That time waiting was useless; it added no value to the company. In fact, the wait state decreased the company’s value as the dev team was not able to continue working effectively until the server arrived. Performance was restricted by an external delay.
That is the primary reason why we saw the rise of cloud computing 10 years ago. Instead of waiting weeks and months, developers simply used a credit card for a virtual machine in the cloud. Within minutes of starting the cloud instance, they were back to work. The wait state was completely removed.
[More from Robert Reeves: Who Moved My Tech? The Art of Convincing the Unconvinced.]
Often, a company would look at the previous problem and consider ways to speed the requisition process of servers. But, that wouldn’t solve the problem completely. By removing the need for the physical server in the first place, the wait state was completely removed, not just mitigated. An added benefit was the cloud machine was cheaper in the long run. Once the project was done, the cloud machine was shut down and no longer cost the company money. That's efficiency. The physical server is going to continue to incur costs, even over a holiday break when no one is using it.
Another example is the apocryphal New York building with tenants complaining of long wait times for elevators and threatening to break their leases. The building management company worked with several engineering firms to find a way to speed up the elevators. All the proposals were ridiculously expensive. While studying the problem, one of the building management staff noticed that the wait times were not as long as the users reported. It was the perception of slowness that caused the complaints. The solution was to install mirrors so people couldn look at themselves while waiting. After installing the mirrors, the complaints disappeared. The time spent waiting on the elevator was no longer wasted time. There was value for the tenants now as they could make sure they didn’t have anything wrong with their appearance.
When you hear complaints about speed, ask yourself how you can replace that wasted time with something valuable. And, when you can’t, simply remove the problem like cloud computing removed the need to requisition a physical machine. By challenging your perceptions and those of your partners, you’ll be surprised at the simplicity and effectiveness of your solution.
As Chief Technology Officer, Robert Reeves advocates for Datical’s customers and provides technical architecture leadership. Prior to co-founding Datical, Robert was a Director at the Austin Technology Incubator. At ATI, he provided real world entrepreneurial expertise to ATI member companies to aid in market validation, product development and fundraising efforts. Robert cofounded Phurnace Software in 2005. He invented and created the flagship product, Phurnace Deliver, which provides middleware infrastructure management to multiple Fortune 500 companies.