The Winburg mini case study depicts the development of a software product that goes awry
for a number of unrelated causes, such as a poor implementation strategy (the unnecessary
use of double-precision numbers) and the decision to use an algorithm that was too slow.
In the end, the project was a success. However, the obvious question is, Is software development
really as chaotic in practice? In fact, the mini case study is far less traumatic than
many, if not the majority of, software projects. In the Winburg mini case study, there were
only two new versions of the software because of faults (the inappropriate use of doubleprecision
numbers; the utilization of an algorithm that could not meet the response time
requirement), and only one new version because of a change made by the client (the need
for increased accuracy).
Why are so many changes to a software product needed? First, as previously stated, software
professionals are human and therefore make mistakes. Second, a software product is a
model of the real world, and the real world is continually changing. This issue is discussed
at greater length in Section 2.4.