Has developer productivity improved in the last ten years? We have much better tools now than we did ten years ago. We understand more about development processes, methodologies, and even developer psyche. But do we get more done?
In 2007, Joe Developer can drag a widget onto a canvas in his whiz bang IDE and in the blink of an eye one thousand lines of code are generated. He must be more productive than he was in 1997, right? I don’t know. I’m not so sure that Joe actually delivers more functionality.
Tools may have increased in power, but expectations have increased as well. Users expect more from their applications. A web application with rudimentary forms to submit data just doesn’t pass muster anymore. As user interfaces become more fancified (that’s the technical term), user expectations change and I wonder if potential productivity improvements are lost. I wonder if development tools are making gains in the wrong places. And when I say “the wrong places,” I really mean “not in the area of productivity”. In other words, rather than giving us tools to more quickly get things done, we get more layers, more options, more features, more…stuff. I don’t actually think that better interfaces are a bad thing. But sometimes it seems that tool vendors are focused on delivering more eye candy and are not helping us deliver better, more solid code in a shorter time.
In 2007, we are doing a lot of great stuff. I’m just not sure we’re any better at dealing with the fundamental complexity involved in building software.