Page 75 -
P. 75
46 PART ONE THE PRODUCT AND THE PROCESS
2.11 PROCESS TECHNOLOGY
The process models discussed in the preceding sections must be adapted for use by
a software project team. To accomplish this, process technology tools have been
developed to help software organizations analyze their current process, organize
work tasks, control and monitor progress, and manage technical quality [BAN95].
Process technology tools allow a software organization to build an automated
model of the common process framework, task sets, and umbrella activities discussed
in Section 2.3. The model, normally represented as a network, can then be analyzed
to determine typical work flow and examine alternative process structures that might
lead to reduced development time or cost.
Once an acceptable process has been created, other process technology tools can
be used to allocate, monitor, and even control all software engineering tasks defined
as part of the process model. Each member of a software project team can use such
tools to develop a checklist of work tasks to be performed, work products to be pro-
duced, and quality assurance activities to be conducted. The process technology tool
can also be used to coordinate the use of other computer-aided software engineer-
ing tools (Chapter 31) that are appropriate for a particular work task.
2.12 PRODUCT AND PROCESS
If the process is weak, the end product will undoubtedly suffer, but an obsessive over-
reliance on process is also dangerous. In a brief essay, Margaret Davis [DAV95] com-
ments on the duality of product and process:
About every ten years, give or take five, the software community redefines "the problem"
by shifting its focus from product issues to process issues. Thus, we have embraced struc-
tured programming languages (product) followed by structured analysis methods (process)
followed by data encapsulation (product) followed by the current emphasis on the Soft-
ware Engineering Institute's Software Development Capability Maturity Model (process).
“[If it is developed While the natural tendency of a pendulum is to come to rest at a point midway between
thoughtlessly and two extremes, the software community's focus constantly shifts because new force is
applied mindlessly, applied when the last swing fails. These swings are harmful in and of themselves because
process can they confuse the average software practitioner by radically changing what it means to per-
become] the death form the job let alone perform it well. The swings also do not solve "the problem" for they
of common sense.” are doomed to fail as long as product and process are treated as forming a dichotomy
Philip K. Howard instead of a duality.
There is precedence in the scientific community to advance notions of duality when
contradictions in observations cannot be fully explained by one competing theory or
another. The dual nature of light, which seems to be simultaneously particle and wave,
has been accepted since the 1920's when Louis de Broglie proposed it. I believe that the
observations we can make on the artifacts of software and its development demonstrate
a fundamental duality between product and process. You can never derive or understand
the full artifact, its context, use, meaning, and worth if you view it as only a process or
only a product . . .