Software Projects failure
for a variety of reasons, of which perhaps the most frequent is
that the system developers fail to meet the explicit or implicit
requirements of the project.
The seeds of many a software project's failure
are sown during the early days of that project, long before any
of the people are even thinking about the possibility of failure—indeed,
that might be the reasons behind the seeds being sown so early in
One of the more frequent problems associated
with a failed software development is that nobody knows what the
finished software will really be like. Those that understand the
commercial application of the software are not usually computer
programmers, and therefore have an intuitive understanding at a
level that may lack all of the necessary detail required to create
a computer system.
Those that create the computer system—the
system designers and programmers have their hands full dealing with
the myriad of details required to create the computer system and
often do not share the intuitive understanding of the business in
which the system will be placed.
The tasks of creating a working computer
system requires a detailed specification of the real-world problems
to be solved at a very detailed level. The logic of the program
cannot be left "hanging" where there some particular as-yet-unthought
of condition is encountered—to do so is to invite disaster.
Therefore the systems designer attempts to think into all possible
scenarios. The programmer, in turn, then tries to write a textual
description of the computer processing that must be effected to
bring about the required result.