On Infrastructure and agility

Running myself through a our software development and delivery process, I was struck with an interesting and always present problem. It's all fine and dandy to be able to deliver working, high quality code at a rapid tempo, but somebody's got the RUN it!
This problem of the dichotomy between operational stability and innovation sits at the core of every decision I make lately. On one hand, the servers must be able to run in a cost effective manner. We can't just gut the data center every year because some new cool thing has been introduced just because it's cool. On the other hand, we can't just keep using the same old technology we've been using for 20 years because we can torture it into solving any problem.
For folks who have been programmed to "keep the data center running", any new or disruptive technology is bad. End of story, no question, no doubt. This is further strengthened by the "fact" that almost any problem that can be solved with a new technology, can also be solved with an existing technology (given enough effort).
This problem is much like exposing someone who has grown up using a hammer and nails to a new problem (screws). Upon hearing about a requirement to start fastening things with screws, they expend all their energy pounding the screws with their hammer. When the existing hammer proves too difficult (i.e. after wasting energy on it), instead of buying a screwdriver (the new technology), they buy a bigger hammer. While a bigger hammer certainly solves the problem, it is only the best solution if you are unable to comprehend the advantages of using a screwdriver.
Continuing the metaphor, when you analyze the reasons for continuing to use the hammer, it actually makes sense. Some logical reasons for this behavior are: I already know how to use a hammer, I don't want to retrain on how to use a screwdriver. I don't have any place set aside to store the screwdriver. Now I only need to support one tool, addition a screwdriver will mean I may need to hire a screwdriver expert.
On the other hand, I can certainly understand why we don't want to run off and do a "Noah's Ark" situation in the data center. I don't know how many times I've had to reign myself in to avoid pushing a particular new technology just because it's cool and makes my job a lot easier. Obviously saving me 15 minutes per week has a definite cost savings, but my corporation may not thing my 15 minutes is worth $15 million plus a staff of six to support it (although I'd disagree).
Back to the screwdriver metaphor, the questions that need to be asked would be: Why do you think you need to use screws? What are the advantages? Do these advantages outweigh the disadvantages of continuing to use nails?
While the hammer and screw metaphor is a little tired, it really "hit's home" with the seeming illogic and stubbornness of some folks that seem thick headed when it comes to implementing new technology.

Comments

Popular posts from this blog

Please use ANSI-92 SQL Join Syntax

the myth of asynchronous JDBC

The difference between Scalability, Performance, Efficiency, and Concurrency explained