Geeks With Blogs
Dynamic Concepts (in) Development Musings of TheCPUWizard

“Has Software Development Gotten Easier Over the Past 30 Years?”

To most people that sounds like a ridiculous question; nearly everyone will immediately answer “Of Course It Has!”.

But is this really the case? Sure, machines today have capabilities that were unimaginable just a few years ago. New software languages and tools provide the ability to quickly produce applications that were considered “Science Fiction” at the start of the current decade. The detailed  knowledge that was required has largely been replaced with environments that abstract these concepts and present them to the developer. Surely this has made development easier!

However, along with this dramatic increase in capabilities, there has also been an equally dramatic increase in requirements and expectations. The Web has grown from static HTML based content to rich “Social Networking”. Desktop applications typically have some multi-media component. Enterprise applications now embody Business Intelligence and are communicating both within a company as well as with vendor and customer systems.

The hardware choices are also much more diverse: Physical vs. Virtual, Multi-Processor/Multi-Core Systems, Distributed and Cloud based computing. Long gone are the days where the hardware was 100% determined by which Mainframe (or “Mini”) the corporation owned.

Platforms and Languages have also exploded. Is Windows the appropriate platform? If Linux, then which distribution? Native Code or Managed Code (Microsoft .Net)? Programming Language? Integration of Third Party Components? Which UI Control Vendor to select?

There can easily be hundreds of decisions that must be made for any significant development effort. Most corporate environments have a strong bias (or even a mandate) on the above questions, but many are simply unaware of alternatives that may better suit their needs.

It becomes the responsibility (officially or not) of the technical staff to be aware of these choices and make sure that management is aware of the choices and the impact of the selection. Unfortunately there is often a language barrier between the technical jargon of the developers and the business mindset of management. Bridging this gap can mean the difference between failure and success of a development effort.

I remember well the days when a programmer/analyst was given a set of requirements, disappeared behind glass walls for a few days, weeks, or even months, and finally emerged with a stack of printouts that where given to the business team. I also remember the times when many late nights were spent attempting to put one more bit of functionality into an “embedded system” that consisted of a 1Mhz (or slower) processor with a few hundred bytes of RAM and a few kilobytes of ROM.

So, given the increased expectations, the number of design choices, and the addition of “soft” skills, I will ask again…..
Has Software Development Gotten Easier Over the Past 30 Years?

Posted on Tuesday, September 30, 2008 12:24 PM A Look Back In Time | Back to top

Related Posts on Geeks With Blogs Matching Categories

Comments on this post: Has Software Development Gotten Easier?

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © David V. Corbin | Powered by: