|
Changes and stability
Overall amount of changes is a specific indicator of progress
and quality. It is defined as number of change requests opened
or completed over the life of the project. It is analyzed
by:
- change type (fault or feature request)
- subsystem or component affected
- milestone and release
- sub-team or individual contributor.
It is also coupled with work and progress
metrics to provide insight into stability of the project,
which is a relationship between open and implemented changes.
This metrics indicates readiness of the software with respect
to the schedule. It also helps to determine how well the process
is performing.
Breakage and Modularity
Breakage is actual amount of code that needs to be written
or modified for change implementation. It can be measured
in function points, classes, modules, components, and source
files. This shows how extensively any given change affects
the software project. In a mature iterative process later
changes should have smaller breakage than early changes. Modularity
is an average breakage over time. As project progresses it
should decrease or at least stabilize.
Rework and Adaptability
- the average rework per change request over time
Rework is essentially cost of change, which includes analysis,
resolution and retesting of all changes to the original design.
Adaptability is a rework trend over time. Not all changes
are created equal. Some changes can be implemented in a man-hour,
while others take weeks. The goal is to decrease or stabilize
this trend over the lifetime of the project.
MBTF and Maturity
MBFT is the average usage time between software errors. In
simple terms it is computed by dividing test hours by the
number of fixes requested. Complex distributed software systems
require extensive statistical testing under realistic and
randomized scenarios. Understanding of product maturity is
gained by maximizing test time via automation tests, ad-hock
testing, stress, and load tests.
Project metrics are a natural by-product
of the software process. They are considered meaningful by
all sides: customer, manager, and performer. Good metrics
are objective and unambiguous. They clearly define correlation
between the software process and business performance, and
allow identification of longer-term trends.
Because of dynamic nature of software projects,
availability of project metrics is critical. We work diligently
to automate gathering and tracking of these metrics online.
|