Page 35 - DCAP405_SOFTWARE_ENGINEERING
P. 35
Software Engineering
Notes called the work products. In software, a work product can be the requirements document, design
document, code, prototype, etc.
This restriction that the output of each step should be some work product, that can be verified,
suggests that the process should have a small number of steps. Having too many steps results in
too many work products or documents, each requiring V&V, and can be very expensive. Due to
this, at the top level, a development process typically consists of a few steps, each satisfying a
clear objective and producing a document used for V&V. How to perform the activity of the
particular step or phase is generally not an issue of the development process.
As a development process, typically, contains a sequence of steps, the next issue that comes is
when a phase should be initiated and terminated. This is frequently done by specifying the entry
criteria and exit criteria for a phase. The entry criteria of a phase specify the conditions that the
input to the phase should satisfy in order to initiate the activities of that phase. The output
criteria specify the conditions that the work product of this phase should satisfy in order to
terminate the activities of the phase. The entry and exit criteria specify constraints of when to
start and stop an activity. It should be clear that the entry criteria of a phase should be consistent
with the exit criteria of the previous phase.
The entry and exit criteria for a phase in a process depend largely on the implementation of the
process. For example, for the same process, one organization may have the entry criteria for the
design phase as “requirements document signed by the client” and another may have “no more
than X errors detected per page in the requirement review.” As each phase ends with some
V&V activity, a common exit criteria for a phase is “V&V of the phase completed satisfactorily,”
where satisfactorily is defined by the organization based on the objectives of the project and its
experience in using the process. The specification of a step with its input, output, and entry exit
criteria is shown in Figure 2.4.
Figure 2.4: A Step in a Development Process
Information to
management
Control
Entry criteria Process Exit criteri a
Phase V&V
Input Output
Apart from the entry and exit criteria for the input and output, a development step needs to
produce some information for the management process. We know that the basic goal of the
management process is to control the development process. For controlling a process, the
management process needs to have precise knowledge about the development process activities.
As the management process is executed by a logically separate group of people, the information
about the development process must flow from the development process to the management
process. This requires that a step produce some information for the management process. The
management process specifies the nature of this information. This information and other such
information from previous steps is used by the management process to exert control on the
development process. The flow of information from a step and, exercise of control is also shown
in Figure 2.4.
Generally, the information flow from a step is in the form of summary reports describing the
amount of resources spent in the phase, schedule information, errors found in the V & V activities,
etc. This type of information flow at defined points in the development process makes it possible
28 LOVELY PROFESSIONAL UNIVERSITY