Get Out of Jail
As I watch the flight attendant go through the pre-flight safety speech, I cannot help but wonder how many people are paying attention, and more importantly, in a “real” emergency, if people will actually find their nearest exits. That’s not just a problem plaguing airline passengers. I routinely observe managers, developers and engineers ignore smart practices and safety procedures, and head blindly into tasks without proper planning, ill-informed, or worse yet… motivated by fear. It’s not wonder they, along with their code and systems, end up in a prison of their own creation — the kind of legacy scenario we retell like ghost stories, nonetheless, people continue to not heed this information. Knowing where the exits are will help you to avoid getting trapped in your burning jail cell.
Exit planning isn’t just for entrepreneur’s looking to cash out from their ideas. Or looking for the next opportunity in your career ladder. I won’t waste any explanation on why exit planning is the panacea to deployments gone awry, disaster recovery and business continuance. More importantly, exit planning should cover the adoption of any technology — let’s face it, whatever clever toolset or powerful framework or even the web language du jour will one day remind you of Perl. Or Shockwave. You get the idea. The people who wrote billion lines of COBOL that drove banking industries probably never imagined that those same lines of code would still be around in 1999 and cause the eventual End-Of-World Y2K problems. Conversely, knowing how to get away from the smarter mouse trap isn’t just about updating and upgrading. It also means the ability to evaluate and determine the time and path to upgrade/update [which is just another variation of exit], without being forced to upgrade or update, just because the vendor is looking to up the licensing revenue. By knowing how to get out of the situation, before you get in, the dominoes are better managed.
This isn’t a call for meticulous waterfall of decision making and planning. The future cannot be controlled like that. Just the opposite. Attempting to satisfy on that global level of planning is destined for failure. This is actually about being agile and being incremental, because doing so decreases the likelihood of monolithic decisions that will erect sudden albeit slow walls on all sides and leaving the hapless managers, engineers and developers trapped in the middle. Make good [smart] decisions. Leverage standards. Adopt best practices. All of these will ensure your safety, whether you’re on an airplane, jumping out of a burning building, or just wrangling code. You know there will be an ending, so know how to get out and move onward, without being prompted by emergencies. Don’t get in, unless you know your way out.