Software isn’t deployed. It’s launched.
As human beings, we are prone to making mistakes. In fact, we make so many mistakes that even religions have attempted to provide reasons to why we are so error prone.
To combat this human flaw, we humans now rely on checklists to support our decision making process when launching mission critical operations. Notice how I used the term “launching” and not the term “deploying”.
Deploy vs Launch
Deploy: to organize and send out (people or things) to be used for a particular purpose
Launch: to set in motion
To deploy software would suggest that we know what we’re doing and have a backup plan for every possible scenario of how that software would be used regardless of its intent.
Notice the difference between the two words in regards to their definition. Hence, to deploy is to send out and to be used for a particular purpose. However, to launch is to just set something in motion. Therefore, when we launch something, we cannot be certain of the end result. Apple “deployed” the IPhone to solve people’s problems and make people’s lives simpler. However, since the launching of the IPhone, mankind has devolved. The majority of people are now mobile-tethered zombies. They are obsessed with selfies and social media. As a result of this launch, new laws have been created to stem the abuse of the technology.
In conclusion, I don’t think software is deployed. Till this day, the majority of software releases are still treated as special events. As a result, we humans don’t really deploy software based on its definition. Instead, we cross our fingers and launch it. We then go into firefighter mode shortly after and patch any security concerns that have been exposed after the launch and any other anomalies that have been exposed by the launch. Hopefully, we are able to have retrospectives after each launch so that we can create and or extend our checklist before launching the next piece of software. In addition to reviewing our checklist, we should aspire to execute our checklist as automated tests to further remove human error from the process.
Scott Nimrod is fascinated with Software Craftsmanship.
He loves responding to feedback and encourages people to share his articles.
He can be reached at scott.nimrod @ bizmonger.net