Lately, I’ve been enjoying some new music from “Twenty One Pilots”. One of the tracks is a catchy little tune “Stay in your lane”. They must have received some unwelcomed advice from music execs: “They say Stay in your lane boy, lane boy, but we go where we want to. They think this thing is a highway, my way…” This catchy tune has been playing in my head, for a few weeks now.
Sometimes at work, I get to review a project that demonstrates a lot of “outside-of-the-box thinking”. Normally, I am a supporter of creativity and problem solving, except when it gets out-of-hand.
For example, imagine for a moment, that you are working with users who are on MS Windows 7 (desktop). All of your users have Windows 7 and nothing else. They need to edit a text file. Nothing fancy. So what would you propose as a solution?
- They already have Notepad.exe. KISS principal. Done!
- Install Cygwin so the users can all run EMACS and edit the file from a command-line
- Write a responsive-design interface using Cocoa, MVVM and Java. Use an AS400 to run a web server to deliver the app.
Perhaps you think this example seems a little whacky or far-fetched, but I honestly could tell you about a dozen projects that I have seen, just like this. It usually starts with IT management adopting a philosophy where: there is no core technology stack. “We don’t just pick one technology and stick with it. Golly, if we did that, our developers would just shove square pegs into round holes. We think it is best when our people can pick anything that works. Open-source is the way to go. No walls. No limits.”
Unfortunately, too often I see this sort of philosophy turn into an IT food-fight. People pick up any technology that they can touch, and start throwing every one of them at their IT problems. “Oracle didn’t fix it so let’s try Mongo. Nope, let’s try Pentaho. Nope, let’s try Fedora. Nope…” The result is pretty-much un-maintainable and The clean-up is nightmarish.
Now don’t get me wrong. I’m not opposed to open-source and I’m not opposed to choosing “the right tool for the job”. However, there are some reasonable boundaries that should be considered. Namely, each technology that is added into a solution, is another technology that must be learned and supported. There is a distinct benefit from sticking with one technology, or sticking with two or three technologies that frequently “go together” as-opposed-to trying to turn everything into a Swiss Army knife. Sometimes, a Swiss Army knife is good, but sometimes, your Swiss Army knife will require WAY more effort than simply getting-up-and-walking-over-to-your-toolbox and picking a better tool.
Of course the toughest part about all of this, happens when you spend all of your time mastering the Swiss Army knife and never learn how to use real tools. Then it will always seem like more work to learn how to use the better tools instead of struggling with your pocket sized screwdriver and can-opener/nail file.
Staying in your lane, is the best way to keep the freeway moving smoothly and quickly. If you or your team are trying to get somewhere, please pick a lane, maybe two.