The myth of new technologies

By Barnaby Golden, 10 November, 2010

In my career I have seen the transition in popularity from FORTRAN to Pascal, from Pascal to C, from C to C++ and from C++ to Java. That is not to mention the introduction of Hibernate, Spring and numerous other technologies.

Hype

What strikes me about these new technologies is that when they first appear there is a lot of hype and the feeling is often that a quantum leap forward is about to happen. Then, after introduction there is the inevitable learning curve and drop off in performance. This often leads to disappointment and anger. What went wrong? Maybe the developers are the problem and not the technology? After a little while, the developers get used to the new way of working and a productivity gain is often had. But the gain is incremental, it is not an order of magnitude leap in output.

No Silver Bullet

There is a very good paper published in the eighties called No Silver Bullet, authored by Fred Brooks. A very simplistic summary of that paper is that there are inherent issues with software development that are not likely to be fixed by a new technology (e.g. problem complexity, changing requirements, etc). It is those inherent problems that account for the majority of time spent adding customer value. So you can make things better with a new technology, but you will not get order of magnitude improvements.

The biggest gains

In my personal experience the biggest gains I have seen in software development productivity have been with (in no particular order) the introduction of test driven development, the use of a prioritised backlog of requirements and the use of frequent, time-boxed iterations. The gains from these changes have been far more significant than gains from the introduction of new technologies. I would go so far as to say that given a good approach, most commonly used technologies can be made to work well. Further, with a good approach, the adoption of new technologies is usually less painful and adds more value.

Do not fall victim to the myth of new technologies. They can help, but they will not solve all your development problems.


 

Target Audience