2006-03-16 16:02:25天光雲影

Quality Assessment of Software Suppliers (I)

[Methodology]
A compendium of models and methods:

Maturity Model
Key KPA's are assessed to determine an approximate equivalence to a SEI
SW-CMM level.

Risk Model
Linear model that determines the software life-cycle development capability and
operational readiness by assessing the best practices that are implemented and
how well the organization performs against it.

Cost and Quality models
Product development effort and schedule models for system design, programming,
test, service/support and project management. Quality models provide product
defect rate projections and permit reconciliation of defect data from early discovery
through system test, if available.

Enterprise model
Linear model that determines the robustness and long-term viability of the
Enterprise.

Support Model
provides support requirements (L3-L1) based on product and customer data.

==========================================================
[The Quality Equation]

Product Defects =
Total Inserted Defects - (Early Discovery Defects + Integration
and System Test Defects)

The Total Inserted Defects can be determined from past history
of a given project team in terms of its proficiency in
engineering a product through its entire life cycle. In other
words, it can be related to the level of maturity of a project
team having a well defined and well managed organization in
terms of being able to track projects and apply prior experience
effectively towards repeatable success and continuous improvement.

Early Discovery Defects are the defects that are found through
design inspections, code reviews and unit testing. Therefore,
this can be related to the capability of a development team in
terms of being able to adequately review and verify requirements,
design and code for correctness/conformance to specs.

Finally, Integration and System Test Defects are the defects that
are exposed during the formal test phase (also referred to as
the Independent Test phase) of the project. The target or
acceptable defect rate and complexity for a given product determines
the effort needed in this phase.

==========================================================
[Early Defect Removal and Development Proficiency]

The removal of defects in the earlier stages of development
(prior to formal test) depends directly on the software
engineering capabilities of the development team in terms of
experience level to conduct effective design/code reviews,
use of standard practices, configuration management, etc.
This can be determined directly by tracking such defects
from the start of development and matching against the
Rayleigh curve.

Table 2: Early discovery defects found as a percent of total
inserted defects for 5 levels of development proficiency. These
are the defects that are found during design reviews, code
inspections, unit test,etc.,before the code is committed to
formal test. Multiple values delimited by commas are for first,
second and n+2 release, respectively. The COCOMO numbers are
based on a Delphi process.

The Rayleigh Defect curve predicts that Early Defect removal rate
should be 1-(0.17+(1-0.95)) = 78%, but it implies a certain
capability. Based on Table 2, the Rayleigh curve appears to model
High to V. High capability.