Advertisment

Quality Assured In Software

author-image
DQI Bureau
New Update

Over the last

two decades, industry and government organizations have applied new

software methodologies and technologies to achieve productivity

gains. It is only in recent times that they have begun to realize

that, for these gains to become a reality, managing the software

process is crucial.



The Capability
Maturity Model (CMM) by the Software Engineering Institute (SEI),

USA, has emerged as the de facto industry standard for a

comprehensive software quality process. Deeper and more

comprehensive than ISO 9000, the CMM provides a pragmatic, yet

disciplined view of software activity that is being widely adopted

by the commercial software marketplace. Central to the CMM is the

issue of requirements management-a key activity designed to ensure

that software products meet the needs of the customers in both

functionality and quality.




The CMM has
gained considerable credibility in software-intensive industries.

Adherence to the CMM has significantly lowered the cost of

application development within large commercial companies. It has

been used by many organizations for long to deliver meaningful

return-on-investment statistics. These payoffs show increased

productivity and the corresponding reduction in time to market

improves by as much as two to three times. In an era of increasing

competition, these improvements to the bottom line are crucial for

gaining strategic advantage.




color=#ff0000>Level 1 to Level 2: Guidelines
The

purpose of requirements management is to establish a common
understanding between the client and the software team about the

customer's requirements. This common understanding serves as the

central document that defines and controls the activities to follow.

Requirements are controlled to establish a baseline for software

engineering management use.





Throughout the
CMM, guidelines specify that all activity plans, schedules and

software products are to be developed and modified consistently with

the requirements that are allocated to software. In this manner, the

CMM moves the organization towards an integrated view-wherein both

technical requirements and project plans are kept consistent with

each other. To support this process, software requirements must be

documented and reviewed by software managers and affected groups,

including representatives of the customer and user

community.




The software
requirements specification serves as a central project document-a

defining factor in relation to other elements of the project plan.

The requirements include both technical and non-technical elements.

In addition, acceptance criteria, which are the tests and measures

that will be used to validate that the software meets its

requirements, must be established and documented.




In order to
accomplish these objectives, adequate resources and funding must be

provided for managing requirements. Members of the software

engineering group and other affected groups must be trained to

perform their requirements management activities. Training needs to

cover methods and standards, as well as training activities designed

to assist the engineering team to understand the unique nature and

problems of the application domain.




Requirements are
managed and controlled, and serve as the basis for software plans,

work products and activities. Changes to the requirements are

reviewed and incorporated into the project plans. The impact of

change is assessed and negotiated with the affected groups. In order

to provide feedback on the results of these activities, and to

verify compliance, the CMM provides guidelines for measurements and

analysis as well as activities for verifying implementation.






size=2>Another rung up: Level 3 face="Arial, Helvetica, sans-serif" size=2>
Under the CMM,

effective requirements management appears at virtually all levels of
the process model and within many key process areas. As an

organization moves to Level 3, the focus is on managing software

activities based on a defined and documented standard practice

called the Software Product Engineering Key Practice.





Designed to
integrate all software engineering activities to produce

high-quality software products effectively and efficiently, under

the Software Engineering Key Practice, the software requirements are

developed, maintained, documented and verified by systematically

analyzing the requirements according to the project's defined

software process.




The analysis
process is necessary to ensure that the requirements are complete

and unambiguous as well as consistent with each other and testable.

Various analysis techniques are suggested, including simulations,

modeling, scenario generation and functional object-oriented

decomposition. The result of this process is a better understanding

of the requirements of the application, which is then reflected in

revised requirements documentation. In addition, the group

responsible for system and acceptance testing also analyzes the

requirements to ensure testability.




The resulting
software requirements document is reviewed and approved by the

affected parties to ensure that the points of view represented by

these parties are included in the requirements. Reviewers include

customers and end users as well as project management and software

test personnel. In order to manage change in a controlled way, the

CMM also calls for placing the software requirements document under

configuration management control.




size=2>Keeping track face="Arial, Helvetica, sans-serif" size=2>
Under the CMM, all

worthwhile software products are documented. The documentation must
be maintained and readily available. Consistency is maintained

across software products, including the software plans, process

descriptions, allocated requirements, software design, code and test

plans, and test procedures. These are traced to the source from

which they were derived, and to the products of the subsequent

engineering activity.

Requirements traceability provides a means

of analyzing impact before a change is made, as well as a way to
determine what components are affected upon processing of a change.

Traceability also provides the mechanism whereby the adequacy of

test coverage can be readily determined.






All approved
changes are tracked to completion. The documentation tracing the

allocated requirements is also managed and controlled. Measurements

are made to determine the functionality and quality of the software

products, and the status of the software activity.




size=2>Managing change face="Arial, Helvetica, sans-serif" size=2>
The CMM recognizes

that change is an integral part of software activity. It is crucial
to have a stable baseline of requirements that are clearly elicited,

documented and placed into systems that provide support for managing

change. The CMM outlines the following:






  • As the

    understanding of the software improves, changes to the software

    products and activities are proposed, analyzed and incorporated as

    appropriate.



  • Where changes
    to the requirements are needed, they are approved and incorporated

    before any work products or activities are changed. The project

    determines impact of change before the change is made. Changes are

    negotiated and communicated to the affected

    groups.





The CMM provides
a comprehensive view of the activities that must be applied to

improve software quality and increase productivity. As the industry

standard for software configuration management, Intersolv's PVCS

offers comprehensive cross-platform solutions, enabling effective

control over the entire software development process.

Once

elicited, requirements are documented and managed with the same
degree of care given to code work products. This process puts the

team in control of their project and helps them to better manage

both the project and its scope.





size=2>David Parker
Director Asia,

PVCS

Advertisment