Monday, 3 September 2012

Are development tools always playing catchup?

Older people will know that the item in the picture is a Stanley Yankee pump screwdriver. You carefully slotted the bit into the screw and then pressed the handle, hard. The ratchet turns and you drive the screw into the work. It requires strength and accuracy as those things were quite long.

Of course yankees have long been discarded in favour of their electric descendants and rightly so. An electric screwdriver gives more power, longer, without quite so much accuracy, and often comes with torque control to boot. Power tools in general have represented a huge jump in operator performance, ranging from chainsaws to minidiggers and backhoes through to Dremels.

However the jump from Yankee to electric screwdriver is nothing like as big as the jump from a traditional screwdriver to the Yankee. And unlike the jump in productivity from first steam shovels over an army of navies, sometimes a couple of guys with a shovel are more effective than a minidigger.

While software development tools have moved on from when we punched codes into cards and tapes, they are still largely recognisable. We have seen lots of fantastic productivity aids like autocompletion, library look up, static checkers on top of simply having more screen space. However have we seen the huge quantum leaps like the steam shovel?

Proponents of 4GL tools would say they have, but, like a steam shovel you still need people round the edges to finish the job. They'll do fine if you don't mind software that is the equivalent of raw shuttered concrete, otherwise you need to pass it on to the finish teams.

The availability of huge, free class libraries for everything from UI to analytics is probably a more significant step for the creation of attractive, advanced software. They take out much of the grunt from the old days when you had to write your own linked list package for each new data structure.

The real problem, however is that the vast increase in expectations and complexity in apps leads absorbs all the improvements in developer performance. We wouldn't need the wonderful jquery transitions functions if we were happy with content simply changing. Extra time that was gained by using things like comms libraries are absorbed by fiddling around with graphics.

The consumer revolution is out the bag and we need to consider any software team a multi-disciplinary one, including designers, writers, and QA as well coders. About the only thing we can be sure of is that complexity is not going down and that expectations are going up while we set yet more form factors and channels appearing.

1 comment:

  1. good review! Informative and interesting which we share with you so i think so it is very useful and knowledgeable. I would like to thank you for the efforts. I am tiring the same best work from me in the future as well. Read more: