Project management and process improvement through software metrics
Robert W. Carroll
Director, Sales and Marketing
GeoData Solutions, Inc.
10075 Westmoor Drive, Suite 200
Westminster, CO 80021 USA
Phone: (303) 635-0500
Fax: (303) 635-0510
Email: RCarroll@,GeodataSolutions.com
Introduction
All software projects begin as a vision. We are presented with a need that can be addressed
through a software solution. The project manager's job is to translate this vision into a usable
product. The software development process begins with tentative plans and estimates, then
expands with the details of what needs to be done and with what resources.
Normally, we think of software development projects in terms of size, effort, complexity, and time.
Software metrics are used to quantifiable measure specific attributes of a software project. They
assist with project planning, estimation, progress monitoring, evaluation of the final product's
quality, defect analysis, and validation of best practices.
Software metrics are defined as "The continuous application of measurement-based techniques to
the software development process and its products to supply meaningful and timely management
information, together with the use of those techniques to improve that process and its
products''(Goodman 1993). Figure 1 illustrates this process.

The Software Engineering Institute (SEI) developed the Capability Maturity Model (CMM) Table
1, a descriptive model of the stages through which organizations progress as they define,
implement, evolve, and improve their processes. To progress through the CMM, organizations
must quantifi their current state and define how to improve processes through soflware metrics.
Software metrics are crucial to reach the Quantitatively Controlled level of the CMM.
Table 1: Software Engineering Institute Capability Maturity Model
| Capability |
Level Common Features |
| Continuously Improving |
- Improving organizational capability
- Improving process effectiveness |
| Quantitatively Controlled |
- Establishing measurable quality goals
- Objectively managing performance |
| Well Defined |
- Defining a standard process
- Perform the standard process. |
| Planned and Tracked |
- Planning performance
- Disciplined performance
- Verifying performance
- Tracking performance |
| Performed Informally |
- Base practices performed |
Benefits of metrics
There are many practical uses of software metrics. Companies with software metrics programs
tend to dominate their industries. Metrics programs insure that GIS development projects are
successful in several ways.
Proiect Planning
Traditional project management activities, such as schedule-based resource allocation using a
Gantt chart, are enhanced through metric guidelines.
Proiect Sizing
Before a manager can allocate resources to a project, he or she must know how big it is and what
resources will be required. Metrics provide a quantifiable estimate for project size.
Proiect Estimating
From the size of the project, estimated costs for the staffing, equipment, and time to complete the
project can be calculated through metrics guidelines.
Proiect Tracking
After the project has been scheduled, the manager should not only track whether milestones are
met, but also what resources and costs were expended to meet those milestones.
Evaluation of final product
What is the quality of the final product? How much effort will be needed to support and maintain
the product? Metrics allow the project manager to analyze the quality of the final product.
Process Improvement throuqh Defect Analvsis
Performing defect analysis and removing major sources of defects offer the greatest short-term
potential for improvements. Metrics analysis provides a quantifiable ratio of defects found,
corrected, and undiscovered.
Validation of Best Practices
Software metrics allow people to validate new software development practices.