|Every now and then you see an article about how - real soon now - the art of crafting software will be radically de-skilled. They've been appearing for ten years or more -- in the early days, it was going to be because of components. Now that object-oriented environments were enabling people to write little self-contained blocks of code that encapsulated an entire business function, developers would be able to buy some libraries and snap the components together like legos. Now its because of webservices and SOA (service-oriented architectures). Relatively unskilled developers will just mashup a bunch of enterprise services and -voila! - mission critical software applications. Earlier this year, Charlie Bess in the EDS "Next Big Thing" Blog made this prediction yet again.|
I've never understood this way of thinking. First of all: someone needs to write all these components and services others will use. And my experience dictates that enterprises -- both corporate and non-profit -- will still decide it is cost-effective to build custom services to do things their way, and competitive forces will drive development groups to build new and better services. Service building will be a growth field, both inside and outside the enterprise. It is already.
But suppose the overwhelming majority of the building blocks are just there and are just waiting to be put together. Darryl Taft, writing in eweek, suggests that the future software developer will be rather like a bricklayer, just putting software bricks in place, one on top of the other, whistling as he works. As they say in the infomercials, "it's just that easy!"
But I'll bet the future of enterprise development will be less like building a wall from a pile of bricks than like assembling a car from a catalog of autoparts, while worrying about safety at high speeds. The idea that the business objects -- the bricks, if you will -- and the end-user application -- the wall -- can be completely separated conceptually is just not true. Read this little piece Shawn McGrath wrote a couple years ago about this.
In fact, Jeff Palermo thinks writing software has already gotten too easy.
Tools today make custom software too easy to develop. This statement may seem controversial, but I believe it. I’ve seen too many unskilled people take a programming tool and throw together something that seems to work initially. The business folks can’t tell a fraud from an expert or evaluate the work, so they use it and then feel the pain later when they actually have to maintain it... Software is serious, from bank transactions to supply lines to taking orders on the web.I think anyone who has watched their staff work around an ungainly application, or struggled to get a customization really working exactly as it must, knows just what I mean.
Tags: nptech, programming