This article outlines metrics for an agile process being used at Brooks Automation. The process uses lightweight metrics at the development team level, where the focus is on developing working code, and more heavyweight metrics at the project management level, where the focus is on delivering a quality release to the customer. The authors describe the process and carry out a goal-question-metric (GQM) analysis to determine the goals and questions for such a process. They then examine the specific metrics used in the process, identifying them as either team-related or project-management-related; compare their scope to that shown by the GQM analysis; and identify issues in the existing metrics. Approaches to rectify those issues are then described.
2. A Bipartite Empirically Oriented Metrics Process for Agile Software Development
on-time delivery (OTD) predictability were signifi- entific software environment at NASA-Langley; Poole
cant. Defect reduction has also seen a 50 percent and Huisman (2001), an implementation in a main-
year-over-year improvement. tenance environment at Iona; and Blotner (2002), an
This article outlines a procedure for establishing implementation in a start-up environment at Sabrix)
metrics and metrics processes for an empirical (agile) and describe how the bipartite metrics approach
process, with emphasis on using this procedure to would work for each case. In this article the authors
specify improved metrics. Since an empirical process take the approach in the aforementioned paper, extend
implements changes based on observations taken and develop it further, and implement it in an ongoing
as the process evolves, with agile processes such as environment, that is, the Brooks Agile Development
extreme programming (XP) being a specific form of Process (ADP).
empirical process, metrics assume an important role Cao et al. (2004) describe the need for overlaying
in such processes. In the procedure the authors use a agile principles on top of XP practices as the develop-
lightweight metrics process at the development team ment methodology to work effectively in a large-scale
level, where the emphasis is on simple data collec- and complex software product development.
tion with only brief analyses carried out, and a more In Software Quality Professional, Gatlin (2003)
heavyweight process at the project management level, discusses a case where a metrics implementation ran
where more substantial data collection and manage- into difficulties, examines the lessons learned, and
ment is done and deeper and more sophisticated mentions common metrics and the weaknesses they
analyses are carried out. can run into. Cross (2004) mentions various statisti-
cal pitfalls to watch out for in using software metrics,
LITERATURE REVIEW including confusions between discrete and continuous
data and between accuracy and precision. Westfall
Agile methods originated in the mid-1990s as a coun-
(2006) outlines 12 steps in selecting, designing, and
terbalance to the more formal, plan-driven methods
implementing software metrics to ensure understand-
that developed in the decade or two previously. Beck
ing of their definition and purpose.
(2000) covers these kinds of development, especially
XP. Goldratt (1992) discusses lean methods and the-
ory of constraints, which also began to be applied to METRICS IMPLEMENTATION
software life cycles and methods. CONSIDERATIONS FOR
Boehm and Turner (2004) present criteria to
determine when agile development is preferable and AGILE PROCESSES
when plan-driven development is preferable. Manhart
and Schneider (2004) carried out a case study using
goal-question-metric (GQM) to select certain agile
Empirical Nature of the Agile
principles (automated unit test, test first) to combine Process and Resulting Metrics
with more traditional principles (documentation, cod- Plan-driven processes define the steps and proce-
ing rules) to implement in an embedded-software dures in advance for the development work to follow.
environment. Jalote et al. (2004) discuss the concept Requirements are also assumed to be defined in
of timeboxing: the breaking up of a large project into advance and unchanging thereafter, except in special
small “timeboxes” that can then be carried out in cases. There are fixed artifacts to produce, detailed
separate steps (pipelined execution). documentation to produce and follow, and tests to be
Williams et al. (2004) have developed a theoretical conducted after development is complete.
framework to evaluate XP and have applied it to an The agile development process, on the other hand,
IBM-based case study. Cohn and Ford (2003) address is more empirical. While some procedures are defined
the organizational aspects of the transition from a in advance, many are formulated as development pro-
plan-driven to an agile process. ceeds, and even for predefined procedures, plenty of
Heimann et al. (2005) identify three agile software opportunity exists for flexibility and iteration. There
development efforts described in the literature (Wood is frequent opportunity to reassess, redesign, refactor,
and Kleb (2003); an implementation of agility in a sci- and replan. Plans for any stage of a project are vaguely
www.asq.org 37
8. A Bipartite Empirically Oriented Metrics Process for Agile Software Development
well as indirectly addressing Goal 2: Level of quality of of requirements changes and additions, so that the
completed work. ongoing customer presence can be properly informed
Velocity rates may change over time from project to and give their proper input to the agile process. Within
project for similar components. The complexity factor the agile development process this is performed by
helps identify the contribution of the risk aspect, with a customer proxy role that continually manages the
respect to the corresponding velocity trends. Figure 8 requirements with the agile project team. Additionally,
shows a sample calculation of the complexity factor. one of the primary functions of the customer proxy
role is to validate the developed product from all the
Issues for Goal 1: iterations for its usability from an end-user perspec-
tive. Developed product (stories) can be refactored to
Projected Completion ensure end-user usability criteria are met.
Contending with moving planned-
production targets
Metrics for Goal 2:
Velocity shows the production of stories, which Product Quality
can be used to compare actual production against To address the quality of the completed work metrics
planned production. However, in an agile develop- includes measuring tests run for each build including
ment process “planned” is not a static unchanging confidence levels over time for test coverage. Using
benchmark against which one can compare produc- Brooks Software’s Temporal reporting technologies
tion. As requirements change, features change, and, against ClearQuest unified change management (UCM)
consequently, stories continue to be created and to repositories allows project teams and management to
evolve. To keep the “planned” picture up to date, one visualize these defect rates and found-fixed ratio. Both
needs to track the stories in real time, adjusting them of these are traditional measures and are calculated by
and the underlying requirements as they change, as the team. The software quality assurance team sup-
well as estimate and forecast them into the future porting the project collects the underlying data.
based on past and current customer volatility. Such a A quantity used to evaluate test quality is a weight-
level of story creation ahead of time, which may not ed quality percentage (see Figure 9 and Appendix).
be needed, is going against the principles of theory This is an agile-related measure, since it takes into
of constraints. Keeping the release cycles short and account the age of the build on which a test was last
maintaining a robust customer proxy role within the run, and is calculated by the team using test-case
project team can help mitigate this concern to a large weightings assigned by QA and project management
extent. Note, however, that within an iteration the pro- based on the highest risk to the project deliverables.
duction target is unchanging, so that the development The range of the quality percentage is from –100 per-
team has a fixed target on which to focus. This is the cent to 100 percent, where –100 percent is complete
heart of the bipartite process, where the development failure of the full suite of tests on the latest build and
teams are provided with a fixed “waterfall-type” envi- 100 percent is complete success of the full suite of
ronment, while project management exercises agility tests on the latest build.
in responding and adjusting to changes in customer Each test case in a build is assigned a level from 1 to 4,
requirements. with level 1 being the highest, and each level is assigned
a point value. The considerations for the weightings are
Interface between requirements based on the criticality of the test. For example, a level
(customer input) and product backlog 1 test may be a server component where a defect would
Agile processes need a requirements-management have severe consequences, while a level 4 test may be
system, ironically more than do plan-based processes. a client on a function that has low frequency of use.
This is especially true to link changes in require- The point values of failed test cases are subtracted from
ments to maintenance of the product backlog list those of passed cases to obtain an adjusted point value.
used to assign stories to teams in the iterations. This These values are divided by the total point value of the
is also true in order to properly evaluate the impact test cases to obtain the weighted quality percentage for
www.asq.org 43
12. A Bipartite Empirically Oriented Metrics Process for Agile Software Development
Issues for Goal 4: Ability to 1. Additional bipartite team and project metrics
for process improvement
Merge Iteration Cycles Into a 2. Further sophistication in the data collection
Seamless Overall Release system for the bipartite agile metrics
This is an area that is difficult to establish quantitative 3. Further implementation of process improve-
metrics for and uses more of a peer and stakeholder ments incorporating the bipartite approach
review process to ensure product readiness. This is
Another area of longer-term interest for Brooks is
addressed in the area of customer acceptance testing
scaling the agile process to support distributed teams.
and installation and delivery sign-off. Earlier in the
development cycle other processes can be developed to With advances in software engineering environments
address the various questions in this goal area: and with the advent of collaboration systems from
suppliers like Microsoft, IBM, and Oracle, the benefits
• Does each team know the inputs from and
of the ADP agile process may be able to be scaled to
outputs to other product components that
benefit disbursed global teams.
they need to address during their iteration?
This can be addressed through peer review
of the team’s plan for story development SUMMARY AND
and tracked by various input-output analyses
among stories. Traceability and configuration
CONCLUSIONS
An agile process can be established that optimizes
management tools can be useful here.
around short planning cycles and theory of constraints.
• Have all the interactions among the vari- It is consistent with proven advances in other domains
ous components and the various teams been such as product life-cycle management and manufac-
accounted for, both in development plan- turing in which the discipline to remove waste from
ning and in integration and system testing? all processes has proven as required for sustaining
This can be similarly addressed through peer growth. For commercial software companies where
reviews of the development plans and the sys- time-to-market, building it right, and cost pressures
tem-test plans and can be similarly tracked by drive management investment decisions, agile has
input-output and traceability analyses. moved from being a fad to being a trend.
• Does system-testing cover all the code, interac- The authors have established a bipartite suite of
tions, and functionality? Currently, the full set metrics, with some, such as defect rates, defects found
of stories is tested. This is addressed in system and fixed, and weighted quality percentage, oriented to
test planning. In addition, the authors are con- the development team, others, such as velocity, com-
sidering adding metrics that quantify coverage of plexity factor, OTD, VOC, and story point variance,
code and functions. This will help detect defects oriented to project management, and others, in par-
relating to unplanned functionality in the code ticular story points, oriented to both the development
that are not fully captured in the stories and team and project management. Many of these metrics,
design specifications, as well as “dead code,” that such as story points, story point variance, velocity,
is, hard-to-reach portions of the code that may complexity factor, weighted quality percentage, and
not be covered unless the test effort specifically VOC, have been created to address the specifics of an
focuses on that part of the code. agile development process such as ADP.
In particular, the velocity metric has been instru-
The authors are also looking to increase the level of
mental in providing a meaningful way to predict the
sophistication in this goal area, as well as to develop a
availability of future product version release time-
number of specific measures.
frame. Velocity metric is used as a throughput rate,
which is generally a measure of effort in the traditional
Next Steps sense. The differentiating factor of this metric is that
Future papers will discuss the advances of these velocity also captures a historical level of difficulty
areas: that is not captured in traditional throughput rates.
www.asq.org 47
14. A Bipartite Empirically Oriented Metrics Process for Agile Software Development
Ashok R. Tripathi is a development manager for Brooks Software for several large advanced manufacturing customers worldwide.
and a certified project management professional with more than Tripathi is also a holder of a U.S. patent on efficient methods
15 years of software product life-cycle experience. During his to collect data from semiconductor equipment. He is currently
time at Brooks, Tripathi has led several product development pursuing an MBA and has a bachelor’s degree in industrial
teams to build real-time software enterprise application suites engineering from Arizona State University.
Appendix
OTD = (actual available to ship date — planned commit date)
(project duration)
Metric: True or false: ”Is OTD ≤ a given tolerance level?”
Velocity = Sum of actual story points
Sum of capacity
SSRS
V=
Ci
where s is a story, SS the size of story s, RS the risk for story s, and Ci the capacity of resource i
Note that story points = Story size * Complexity risk
The complexity factor is defined by the following:
SS
C= S
SSRS
S
where s is a story, SS the size of story s, and RS is the risk for story s
(test case values * test-result weighting)
Weighted quality percentage =
(test case values)
Weighted quality percentage (test case values * test-result weighting * build timeliness)
=
with confidence loss (test case values)
(PS – AS)
Story point variance =
PS
where PS is the total initially planned story points and AS is the total actual completed story points
OBQ = % of defect categories per month (installation, packaging, documentation, software, etc.)
www.asq.org 49