Before I start this post, ask anyone that knows me about what my thoughts on new technology are, and you’ll find the word passionate coming up, if something interests me, I’ll grab it with both hands, reading around it until I learn it inside out. However sometimes, its not a good idea to implement something new from a business point of view, and here’s the when and why.
If it is bolstering someone’s ego.
Good developers aren’t ego centric, and are able to see that the business goals are met, in as quick a time as possible. Some developers unfortunately tend to thrive off the *WOW* look at me and what I can do factor. Showing off your 3lit3 hacker / coder skillz wont earn you any points with your customers, particularly if they are paying you for your time. The other problem with having this attitude is that maintaintenance becomes a nightmare, as many of your team may not yet be up to speed with how the technology works. This equals more training for the company, and while this is not necessarily a bad thing, will introduce additional costs.
Employee lock in
Beware of developers who go out of their ways to build some so intricate and overly complex, that only they can maintain it, and thus make themselves indispensible. Breaking a problem down into simpler parts is at the centre of ever good software project, and if the technology you are using doesn’t aid in that pursuit, drop it like a hot potato.
If the technology is too young
Implementing technology that is in beta is a risky strategy, you hope for a major benefit, whether it be faster or more elegant ways of working but often have to put up with a significant amount of crap, or worse still your customers have to put up with it. If a particular product is in beta, that nearly always means – “not ready for a production server”, and if it is safe to use, it is still open to changing significantly in coming months / years. It is this possibility for change that may mean your initial investment in time could be in vain.
If its technology for technology’s sake.
There is a mantra in the software world “Be careful of technology chasing a market”. If you are simply implementing technology because it is “innovative” and “cool”, then you may have lost the vision of putting your customers needs first. Implementing technology for technology’s sake does not make good business sense.
Sometimes pushing the boundaries can get you noticed, but newer technologies and being an early adopter only has benefits if you are adding significant value to your product.