SOFTWARE DEVELOPMENT
Avoiding Disasters
Horror stories abound about the development
of new projects that result in software disasters. The statistics are frightening.
Billions of dollars have been wasted on Software Projects that are over budget,
late in delivery, do not meet the users' expectations, and in many cases are obsolete
before they even get used.
This relates to mainframe projects where the scope is large and the software complex.
Microsoft projects, using user-friendly software such as Visual Basic, SQL Server
and Access Databases, have seldom hit these problems.
The powerful Servers and PCs that are available today allow large and sophisticated
Windows systems to be created. And with the sophistication comes complexity –
large Microsoft software projects are now just as prone to a Software Disaster.
The Uncertainty of Software Estimations
A paper on Large Limits to Software Estimation, showed how software estimation can
be interpreted in algorithmic (Kolmogorov) complexity terms. The results indicated
that claims of purely objective estimation of project complexity, development time,
and programmer productivity are necessarily incorrect. The paper showed that:-
- Program size and complexity cannot be objectively estimated a priori.
- Development time cannot be objectively predicted.
- Absolute productivity cannot be objectively determined.
Management requirements
Management require definite timetables for development. In addition, they usually
attempt to extract the most optimistic of estimate times.
As the developer cannot provide any certainty, all estimates must be made conservatively.
Allowance must be made for the inexact nature of software predictions. And all this
needs to be communicated to management.
|