Software Development in 2005 - Back to the Future

2005 ? Back to the Future.

What does the future hold? A big question and initially the answer is anything and everything. The predictions are sometimes close but most of the time they are far from the reality. Technology has moves on apace and the core players in the various sectors of the computing industry invest in research and development which increases the rate of technology introduction with performance improvements or benefits outweighing the previous technology that customers/users/consumers must take advantage of, or so that is what they tell us. What is the truth? And what is the future?

For the developer community I believe that things have not changed all that much other than there a more defined lines to be drawn between types of developers i.e. games vs corporate applications, mobile vs military. These differences are reflected in the methodologies and tools used by each group. However, the principles remain the same, identify a requirement and then satisfy that with some code. The implementation various by user requirements. I spent four years in the late 1980s working on Software Engineering and Systems Engineering products at Digital Equipment Corporation (DEC). The focus of the team I was part of was to build an integrated environment that utilised Independent Software vendors products in a framework that enabled the output of one product to flow into the others as needed. This was done with customer input through a direct mechanism of regular meetings and information flow to create a generic specification that could be used in industries such as Aerospace, Defense and Telco. This was the time for quality processes, analysis and design methods and a burgeoning open standards movement. This developed into the Open Source movement and the associated issues that brings, but that is another story!

The premise of building an integrated environment that encapsulated a range or products from leading vendors in the key parts of the software development cycle was, and maybe still is, the holy grail for software and systems development. Incorporating the process model and flow into the environment enabled two of the critical elements of development, a controlled process management capability and the right tools for the right job. What you find today is an integrated development environment but you cannot use other tools that you currently use to do functions such a requirements tracking, documentation, code management, etc. The important thing to note is that the environment that DEC built, with a range of partners, was used to create the software on the then leading aerospace project, the F22 fighter. It was used in anger and it worked. It may have been ahead of its time but it did the job.

The non-technology element that an integrated environment does not adequately address is the people. This is the vital part of this process of any software development project. Instilling discipline across a team is not easy and does not get the focus it should. Many have tried to raise the awareness of the role people play in software development, such as Tom de Marco, and the issue is that developing software is still seen as an artisans job and not a true professional role. The British Computing Society Chartered Engineer status provides for individuals to be professionally qualified but my perception is that the number of people who have taken the time and trouble to qualify is limited. If more projects asked for chartered status of a significant proportion of the project team there would an improvement in the delivery of projects on time and in budget.

So what is my point. Well, it seems to me that we have gone backwards with regards to software development technology. The ability to integrate and get individual components from separate vendors to work together is one thing, to get them also to work together with a work flow model is another. There may be suites from individual vendors that offer this but if you want to retain your own environment you may not be able to. This then involves a major change in your development process and teams. No one likes change! So we all stick to our known quantities to keep in the comfort zone.

More importantly the role of the human in this complex and technology based process is not fully understood and nor is it managed in a way that achieves the best results. People need encouragement, they need motivation, guidance and above all the knowledge that what they are doing is of value. My view is that all projects now come down to money and time, and whilst these are important from a business perspective, the measurements miss the impact that these have on the people involved in the project. There are changes that must come from the business in terms of measuring quality such as the reliability, use-ability and flexibility of the software as well as the quantitative measurements of keeping to time-scales and budgets. The developer needs to do their bit too in this equation. They must become more professional, become a Chartered Engineer, and be prepared to change and understand the business dynamics, because after all they are paid by delivering code that works. And most people understand that premise.

Paul Bellchambers

Paul has over 25 years in the computer industry working in the area of software development. He has worked for Digital Equipment Corp, Sun Microsystems, Olivetti Systems and a number of companies developing software applications. He is currently running a new developers website - http://www.thedeveloperscatalogue.com - and he is also writing articles for the site and for other publications including International Developer Magazine.

In The News:


pen paper and inkwell


cat break through


Top Questions to Ask Before Buying a Help Desk & Asset Management Software

#5 All your hardware components like Printers, PCs etc come... Read More

Microsoft CRM for Corporate Business ? Working Offline

If your company has regional and worldwide operations, you might... Read More

Start Developing Your Own Software

Learning how to program software seems like a daunting task... Read More

Separate Anti-Keylogging Protection: Who Needs it Most?

If there still are few unprotected computers left, I haven't... Read More

Chinese Input - Step by Step Instruction on How to Input Chinese Characters in English Windows XP

Enabling Chinese input is quick and easy, there are only... Read More

How Do I Get Rid Of That Darn Spyware?

Ad-Aware and Spybot are probably the two most well known... Read More

Groupware and Online Collaboration: Collaboration Series #4

This article is the fourth of a series of articles... Read More

Computer Based Language Development and Spell-checking

Language development computer: Computer-based method for aiding language development seems... Read More

The Importance of Timely Timesheets

Whether you are a small consultancy firm, a medium sized... Read More

Collaboration Software: Index of Collaboration Software Technologies

Collaboration SoftwareCollaboration Software, also known as group collaboration software or... Read More

Software For Your Hard-Drive

All your software is stored on a hard-drive. But how... Read More

Who Is Minding Your Sensitive Data?

Stealing company information used to be the specialty of spies... Read More

Accounts Payable: A Powerful Document Management and Workflow Solution

Accounts payable is just one area of office management where... Read More

Groove Network. Are you in it?

If you are in a business that passes documents around... Read More

Software Tools To Help Your Business Sell More

Sales are all about leverage, because there is only so... Read More

Performance Tuning of a Daffodil DB / One$DB -JDBC Application

This article illustrates the best practices to improve the performance... Read More

C++ Tutorial 1, Introduction to C++

Introduction to C++Why Learn C++?C++ may at first seem like... Read More

Microsoft CRM: Data Conversion ? Import from Act!

Best Software Act! is very popular CRM for small and... Read More

Putting Screensavers Under Control

No matter how much you enjoy your favorite screensavers, sometimes... Read More

Editing Your Photos Using Microsoft Picture It Publishing Platinum 2002 - A Great Dinosaur

I started using PIP (Picture It Publishing) Platinum 2002 right... Read More

Dreamweaver vs FrontPage

There are two major WYSIWYG(What You See Is What You... Read More

Microsoft Great Plains Jewelry ? Implementation & Customization Overview

Each Industry and market niche has business specific and unique... Read More

An Easy Way to Develop JAVA Enterprise Applications

Research bears that less than 70 percent of development projects... Read More

netstat - Linux Command to Display Networking Information

In linux, one of great commands for finding out information... Read More

The True Meaning of Freeware

The vast majority of us will have, at some point,... Read More

Free Software - Powerful Alternatives to Budget-Busting Software

When you buy a computer, it most likely comes with... Read More

Begun, The Browser Wars Have

As Mozilla Firefox nears 10% market share, with well over... Read More

Change Your Word Docs in Record Time!

Anyone who has ever used Microsoft Word knows that it... Read More

Review of TikiWiki Content Management System

TikiWiki is open source software - it is written in... Read More

Free Preventive Maintenance Software

While several preventive maintenance software manufacturers offer free trials for... Read More

Screenplay and Script Writing Software

When it comes to screenplay software each screenwriter needs to... Read More

C++ Function Templates

C++ Function templates are those functions which can handle different... Read More

10 Things You Can Do With Photoshop CS2 That You Couldnt Do Before Now

Is Photoshop CS2 worth the upgrade? You bet it is!... Read More