Professional Documents
Culture Documents
Abstract
Quite a lot of failures in conversion of defense industry that took place in the late eighties – early nineties,
not only point out the wane of the “military” approach to satisfaction of rapidly changing needs of regular
non-military business. This fact also demonstrates the presence of great opportunities for considerable
improvement of remaining military area, especially in performance and quality of both acquisition and
supply processes. In particular, the most interesting idea is to switch over to evolutionary, iterative, and
incremental lifecycle models for military systems and software projects. These models are widely used
within commercial (e.g. non-military) IT-industry. Evidently, the transition from a hard (per se static)
lifecycle model to a flexible evolutionary, iterative, and incremental ones will require review and probably
revising most of existing standards in acquisition and supply of software-intensive military systems. One of
these standards may require just rethought or remapping when implementing new lifecycle models, another
one may lead to completely rework of it or even its cancellation.
This theoretical study concerns a possibility of application “as is” of appropriate SEI CMMI specific
practices to the Requirements Management area of both Supplier and Customer organizations that decided
upon implementation of evolutionary, iterative, and incremental lifecycle models.
One cannot overrate the meaning of Requirements Management as a discipline in Systems/Software
Engineering projects, especially for military applications. Adequate balancing between formal approach to
requirements specification and flexibility of evolutionary, iterative, and incremental lifecycle models creates
solid basis for the success of both timeline and quality aspects of such projects.
1 Background
Capability Maturity Model Integration (CMMISM) for Systems Engineering and Software Engineering,
Version 1.1. (CMMI-SE/SW)
Staged representation of CMMI-SE/SW, we decided to use as framework, contains 22 process areas (see
Table 1) distinguished between 4 maturity levels to highlight what an organization should focus on to meet
required level of process excellence. This model has been selected for the following major reasons:
(1) It’s successor of well known and widely used SEI Capability Maturity Model for Software (SW-
CMM)
(2) It’s process oriented and therefore understandable for those who is familiar with ISO 9000:2000
standards
(3) It was harmonized with ISO/IEC 15504 and thus will not confuse the people working with SPICE1
model
CMM, Capability Maturity Model, and Capability Maturity Modeling are registered in the U.S. Patent and Trademark
Office.
SM
CMMI is a service mark of Carnegie Mellon University.
1
SPICE - Software Process Improvement and Capability dEtermination.
2
(4) It seams to be aplicable for Systems/Software Engineering in both defence and commercial domains
(5) In most cases of large defence projects Software Engineering is closely interrelated with Systems
Engineering
(6) CMMI provides clear and comprehensive definition of process area and appropriate essentials
(practices) for Requirements Management
Lifecycle model
There are a lot of alternative software lifecycle models (e.g. evolutionary, spiral, iterative, incremental) based
on the idea of product evolution. Some of these models support full product lifecycle, while others cover just
one typical cycle of software development project. For the purpose of this work we decided lifecycle model
3
used in Rational Unified Process (RUP) [2]. This model (see Figure 1) supports evolutionary approach in
two levels:
Project-level lifecycle: project’s work products evolve (or mature) passing project’s phases and
iterations (or increments)
Product-level lifecycle: product evolves passing though several projet cycles (e.g. within product
development programme)
Time
Iterations: I1 E1 E2 C1 C2 C3 T1 T2
In the result of such evaluation, Customer decides whether to commit support (funding) for the next project
phase (i.e. Elaboration) or not. The project may be aborted or considerably re-thought if it fails to meet the
listed criterias.
Requirements management at the Inception Phase is focused on managing high-level product requirements
that reflect customer, end user or other stakeholder’s vision on product features and scope from target
business or business domain perspective (i.e. Product Vision & Scope). This kind of requirements are part of
Life Cycle Objectives definition and will be further elaborated down to detailed requirements specifications
during Elaboration Phase. Product Vision & Scope is also a primary input for concurrently developed project
plans and other work products.
From this viewpoint CMMI Requirememnts Management practicess during Inception phase may be
interpreted as following:
CMMI Specific Practice Possible interpretation
Obtain an Requirements prodivers are those organizations and/or individuals who can
Understanding of provide project participants with high-level product requirements from target
Requirements business or business domain perspective (i.e. with Product Vision & Scope)
Note: At the Inception phase Customer/End User representatives and/or Domain
Engineering professionals may play the roles of requirements providers
Acceptable are those requirememnts that:
− Are clearly and properly stated, complete, consistent with each other,
uniquely identified, appropriate to implement, verifiable (testable), and
traceable
− Provide essential basis for current Life Cycle Objectives and their
expected evolution
Important note: Overkill in requirements detailes at this phase may further
convert your project in “obstacle race”.
Project participants develop user interface and/or other front-end prototypes
when applicable to understand if they can commit to the requirements
provided
Requirements providers evaluate prototypes and provide clarifications to the
requirements when necessary
Obtain Commitment to Project participants commitments to the Product Vision & Scope are
Requirements discussed with stakeholders, recorded in overall project plan, and iteration
plans for Elaboration phase
Project participants and stakeholders assess impact on existing commitments
for each new and/or modified requirement within Product Vision & Scope
Manage Requirements Recent versions of Product Vision & Scope with history of changes are timely
Changes available for concurrent development of project’s plans and other work
products (e.g. project participants access evolving requirememnts beginning
from the first draft and are notified about all on-going modifications of the
Product Vision & Scope as it matures up to the formally agreed and approved
baseline)
By the end of Inception Phase a Formal Change Control Procedure is applied
to Product Vision & Scope after it’s formal review and approval.
Maintain Bidirectional Bidirectional vertical and horizontal traceability among the Product Vision &
Traceability of Scope requirements and project’s plans and other work products is established
Requirements and maintained.
6
From this viewpoint Requirements Management at Elaboration Phase may be interpreted as following:
CMMI Specific Practice Possible interpretation
Obtain an Requirements prodivers are those organizations and/or individuals who can
Understanding of analyse Product Vision and Scope from system/software development
Requirements perspective and produce Detailed Requirements Specification for the product
being under development
Note: At the Elaboration phase projects’ requirements analysis team may play the
role of requirements provider. Customer/End User representatives and/or Domain
Engineering professionals are also involved for on-going and final reviews of
detailed requirements derived from Product Vision & Scope.
7
deployment at Customer’s site). All functionality is developed and all alpha testing (if any) is completed. In
addition to the software, a user documentation is developed, and there is a description of the current release.
At this point Customer and Supplier jointly review the project against IOC criteria answering the following
questions:
Is this product release stable and mature enough to be deployed in the user community?
Are all the stakeholders ready for the transition to the user community?
Are the actual resource expenditures still acceptable versus the planned ones?
Transition phase may have to be postponed by one release if the project fails to reach this milestone.
As we recognized from the above speculations both product requirements and architecture stability has been
reached at LCA milestone. It means that starting with Construction phase we lastly have full product
requirements package formally reviewed and approved, and if so, a formal change control mechanisms shall
be applied to whole Requirements Baseline (e.g. Product Vision & Scope consolidated with Detailed
Requirements Specifications). That’s a primary focus of Requirements Management during Construction and
subsequent Transition phases as well.
From this viewpoint Requirements Management at Construction Phase may be interpreted as following:
6 Conclusion
The above speculative analysis provides us with clear evidence that we actually don’t need to change
anything in CMMI specific practices for Requirements Management to reflect some special features of
evolutionary lifecycle model. Everything in this great systems/software process framework is at right place
for reasonable usage. However, those organizations which are forced to change their traditional waterfall
lifecycle model with evolutionary one may be also confronted with big challenge of cultural changes that are
not easy to implement. Thus they may need to revise their commitments and abilities to perform
requirements management as well as directing and verifying appropriate process implementation for new
environment (i.e. CMMI generic practices). The most important thing this revising should focus on is
application of evolutionary lifecycle invariants to the requirements management process area (see Table 2).
9
7 References
[1] - Capability Maturity Model® Integration (CMMISM) for Systems Engineering and Software
Engineering, Version 1.1. (CMMI-SE/SW)
[2] - Rational Unified Process version 2000
[3] - Barry Boehm, edited by Wilfred J. Hansen. Spiral Development: Experience, Principles, and
Refinements. Spiral Development Workshop, February 9, 2000.