20
CHAPTER 1
Introduction
to Software Engineering
defined, designed, implemented, and qualified prior to the software product deploy-
ment readiness review to demonstrate that the software product has been completed
and is ready to be deployed into operations or distributed
to customers or consum-
ers. The decision to deploy the software product must account for the state of each
of the post-development process development efforts.
1.10
Configuration management and change control
Configuration management maintains the coherent alignment of functional,
structural, and performance characteristics throughout the product’s life cycle.
Configuration management practices involve configuration identification,
change
control, configuration status accounting, and configuration audits. These practices
are intended to ensure that the software product conforms to its specifications,
design, and operational and support documentation. Configuration audits ensure
that the final product configuration
has been properly tested, all physical character-
istics are consistent with specifications, diagrams, drawings, users’ manuals, etc.,
as well as ensuring that all authorized changes have been incorporated into the con-
figuration data (artifacts).
Managing change is one of the most critical aspects of any development
effort. No development team can predict the numerous issues that will be encoun-
tered throughout a software development effort. The term
develop
has several
meanings, including to change and
become larger, stronger, or more impressive;
and to become apparent and thus resolve a question or clarify a situation. This
implies that the problem space is not understood well enough at the inception of
a project to accurately define a plan or schedule that will not vary from its original
account. When considering change control, the following underlying facts must be
acknowledged:
●
Projects are established to develop a software product and are driven by cost and
schedule objectives and resource constraints.
●
Project planning establishes a roadmap that the project
will initially proceed
to execute. As the development effort analyzes the problem space and solution
alternatives, project plans and schedule definitions must be revised to correctly
reflect the new understanding of the project outlook.
●
Project management involves numerous control mechanisms for achieving
established project objectives including budgets,
resource allocations, and risk
tracking.
●
The software architecture provides the technical framework for establishing the
product structural configuration. This product configuration will evolve as more
detail is derived as a result of analysis,
investigation, modeling, and prototyping.
●
As the product configuration is meticulously detailed the product and WBSs
must be extended to provide the basis for revising technical plans, schedules,
and key milestone accomplishment criteria.