I doubt that back in 1991 Michael Stipe of R.E.M was referring to his technical infrastructure when he sang, "That's me in the spotlight, losing my religion," but the song and some of its lyrics remind me of how people's technology choices are often based purely on faith. Technologies are a religion. People have their beliefs and most typically, they believe that their technology is not just better, but "right." The fact of the matter is that every technology has its pluses and minuses, and no one solution is perfect for every situation. In addition, there isn’t necessarily an apples-to-apples comparison with every platform (e.g., Windows vs. Linux, Android vs. iOS, PERL vs. .NET, Oracle vs. SQL Server, and so on). However, as new tools are created, the question inevitably gets asked, "When do I change away from the technology that I'm using to another?"
While there are many obvious decisions to be made, like dropping those punch cards or your BASIC/FORTRAN compiler in the wastebasket, there are many others that are not so obvious. In the data-driven marketing space, religious debates occur on an almost daily basis. For instance, when is the right time to use Hadoop (or the many tools that live on it)? When should a database provider change from ETL to ELT or vice versa? When does using an MPP versus an SMP database make sense?
So, I'm not going to waste any time comparing the features and functions of these tools. What I will provide, however, are the criteria you might want to consider before making technology changes within your organization or with your vendor partner.
Research Real Features
"That was just a dream ... just a dream ... just a dream, dream"This one seems pretty obvious, right? Not so fast. The features and functions are often blurred by hype or buzzwords, and a push in the industry to head in a particular direction. Lately, Hadoop and the "Cloud" (which has less to do with the technologies, and more to do with where they are), have been all the buzz. However, there are limitations in these technologies that require careful research before deciding to use them. What are the strengths vs. the weaknesses of a tool? Can you really do the same thing on those platforms that you can on your current platform? In addition to all of the extra research you should do online and in direct conversations with vendors, you will want to find other companies that have actually implemented the technologies you are interested in. What are the pains that company experienced? What does the solution do or not do well? When making a large investment in a technological change, you don't want to be the pioneer on the bleeding edge.
The Hidden Costs
"It's bigger than you ... and you are not me"
In terms of budget considerations, most technology platforms, especially at the enterprise level, are extremely expensive. There are many factors that need to be taken into account beyond just the software or hardware costs. What is the cost of moving all of your systems to the new, shiny technology? One can't assume that the hardware and software costs of all of your existing solutions simply disappear.
There is also the cost of training your workforce. Most technology changes include a new coding language or a new interface that will need to be learned and supported. This is another important reason to hold off on being the pioneer. The more mature the technology, the more your workforce will become naturally knowledgeable (through outside sources of training, turnover from other companies, or self-motivated types that like to learn on their own).
Understand the Buzz
"Trying to keep up with you ... and I don't know if I can do it"
"I thought that I heard you laughing ... I think I thought I saw you try"
"Hang on! You just said to stay away from the buzz and the hype!" Yup, I sure did. But here's the thing: Whether you are a technology vendor or an internal IT department, it isn’t wise to completely ignore the buzz in the marketplace. Your leadership or your clients are often persuaded by the buzz, and if you don't find ways to use these technologies as they are intended, and in the right contexts, it may be left up to the hasty decisions of others. Don't let that happen! Hadoop, for example, has its place in many data-related solutions, but it will not replace them all. Ultimately, you want to find a balance between progressive technological change and strategic due diligence.
Listen to your Solution Providers
"Consider this, the slip ... that brought me to my knees"
There is a fine line between staying away from bleeding edge and falling behind. When dealing with solution providers with whom you are partnered, it is important to listen to them when they are suggesting a refresh of technologies for your solution.
Much of the criteria above can be used in the same manner, only backwards, to evaluate a refresh in your platform. For example, is it possible that your technologies are no longer being well-supported by your solution provider? Would a newer technology save the vendor money on resources, hardware or software licenses, or training? Could the vendor saving money allow you to save money? What are the new features being offered by the technologies they are recommending?
In the end, it is very rare for a solution provider to recommend a technology change just to make more money. Most technology changes are an investment by both the solution provider and the client, so find out the real reasons they are recommending the change. Oh, and don't forget ... you don't want to be the pioneer for that provider, either.
"Oh no, I've said too much"
Many organizations change technology platforms for the wrong reasons. Decisions are made based on personal preferences and faith rather than rational, thoughtful criteria. Lay out your criteria, do your research, evaluate the costs, and don’t be religious when making this kind of decision. If there isn't a clear reason to move, maybe this isn't the right time.