Java Reference
In-Depth Information
12.8
R EAL S OFTWARE E NGINEERING
Let's take a moment here and ask a fundamental question. Is this the best way
to make software? And there is another fundamental, but subtly and important-
ly different question: Is this the right way to make software?
There are techniques and methods of Software Engineering that do ap-
proach the ideal of “zero defects.” NASA uses such procedures for manned
spacecraft. Coders for medical devices do likewise. The outline method we have
suggested here doesn't come close to such methods. So, is what we have de-
scribed the best way to make software? No, it is not. So why don't we all use
those zero defect methods? That is easy to answer: cost. It is expensive. Virtually
no MIS shop on the planet would be willing to pay the price it takes to get that
stability and certainty. The price isn't just dollar cost, either. The Space Shuttle,
for example, has computers that still use magnetic core memory, a technology
that was old in the 1970s. Why? Because the restrictions imposed by their
change control systems would essentially require the entire shuttle to be
redesigned and retested if they made such a change. 8
But this isn't an either-or. You do not have to apply either a full-fledged
software engineering methodology, or use nothing at all. Instead, you have to
apply some design, development, and maintenance processes that improve the
probability of success and reduce the cost of failure. When we recommend
version control, requirements gathering, use cases, and CRC cards, we are giv-
ing you a bare-bones set of methods that will help to write fairly successful
software at reasonable cost in reasonable amounts of time.
To some of you, this will be old news. If you are at level 2 or above on the
Capability Maturity Model (see the sidebar in Section 12.6), then you already
have some process. But you would be surprised how many business out there
do not even have source code control in place. To some of you, what we suggest
here will be primitive compared to processes you already have. The point is, no
one's level of control and process is “right” (to us, that means “cost-justified”)
for all cases. But using no method at all is a risk too great for any business.
8. An exaggeration to be sure, though maybe not as much as you might think, but you get
our point.
Search WWH ::




Custom Search