Page 76 -
P. 76
CHAPTER 2 THE PROCESS 47
All of human activity may be a process, but each of us derives a sense of self worth from
those activities that result in a representation or instance that can be used or appreciated
either by more than one person, used over and over, or used in some other context not
considered. That is, we derive feelings of satisfaction from reuse of our products by our-
selves or others.
Thus, while the rapid assimilation of reuse goals into software development potentially
increases the satisfaction software practitioners derive from their work, it also increases
the urgency for acceptance of the duality of product and process. Thinking of a reusable
artifact as only product or only process either obscures the context and ways to use it or
obscures the fact that each use results in product that will, in turn, be used as input to some
other software development activity. Taking one view over the other dramatically reduces
the opportunities for reuse and, hence, loses the opportunity for increasing job satisfaction.
People derive as much (or more) satisfaction from the creative process as they do
from the end product. An artist enjoys the brush strokes as much the framed result.
"Any activity becomes A writer enjoys the search for the proper metaphor as much as the finished book. A
creative when the creative software professional should also derive as much satisfaction from the process
doer cares about
doing it right, or as the end-product.
doing it better." The work of software people will change in the years ahead. The duality of prod-
John Updike uct and process is one important element in keeping creative people engaged as the
transition from programming to software engineering is finalized.
2.13 SUMMARY
Software engineering is a discipline that integrates process, methods, and tools for
the development of computer software. A number of different process models for
software engineering have been proposed, each exhibiting strengths and weaknesses,
but all having a series of generic phases in common. The principles, concepts, and
methods that enable us to perform the process that we call software engineering are
considered throughout the remainder of this book.
REFERENCES
[BAE98] Baetjer, Jr., H., Software as Capital, IEEE Computer Society Press, 1998,
p. 85.
[BAN95] Bandinelli, S. et al., “Modeling and Improving an Industrial Software
Process,” IEEE Trans. Software Engineering, vol. SE-21, no. 5, May 1995, pp.
440–454.
[BOE88] Boehm, B., “A Spiral Model for Software Development and Enhance-
ment,” Computer, vol. 21, no. 5, May 1988, pp. 61–72.
[BOE96] Boehm, B., “Anchoring the Software Process,” IEEE Software, vol. 13, no.
4, July 1996, pp. 73–82.
[BOE98] Boehm, B., “Using the WINWIN Spiral Model: A Case Study,” Computer,
vol. 31, no. 7, July 1998, pp. 33–44.