Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ghislain Lvesque
Ktata.oualid@courrier.uqam.ca
levesque.ghislain@uqam.ca
Management, Measurement and Economics.
ABSTRACT
Agile developers are generally reluctant to non-agile practices.
Promoted by senior software practitioners, agile methods were
intended to avoid traditional engineering practices and rather
focus on delivering working software as quickly as possible.
Thus, the unique measure in Scrum, a well known framework for
managing agile projects, is velocity. Its main purpose is to
demonstrate the progress in delivering working software. In
software engineering (SE), measurement programs have more in
depth purposes and allow teams and individuals to improve their
development process along with providing better product quality
and control over the project. This paper will describe the
experience and the approach used in an agile SE company to
design and initiate a measurement program taking into account
the specificities of their agile environment, principles and values.
The lessons learned after five months of investigation are
twofold. The first one shows how agile teams, in comparison to
traditional teams, have different needs when trying to establish a
measurement program. The second confirms that agile teams, as
many other groups of workers, are reluctant and resistant to
change. Finally, the preliminary results show that agile people
are more interested in value delivery, technical debt, and
multiple aspects related to team dynamics and will cooperate to
the collection of data as soon as there tools can do it for them. It
is believed that this research could suggest new guidelines for
elaborating specific measurement programs in other agile
environments.
Keywords
Agile software process, agile metrics, measurement program,
Scrum, business value, goal-question-metric.
1. INTRODUCTION
The research work presented here was aimed at designing and
implementing a measurement program in a purely agile
environment that had no systematic measurement program yet.
The company hosting the program is a leading SE company in
agile software development and consulting. It fully embraced the
agile paradigm since its beginning in 2002. The company
adopted Scrum as a project management technique. Furthermore,
the company has a flat organization structure and has adopted the
agile paradigm for all its internal managerial activities. As any
other firm in SE, the company was experimenting major
problems with estimation of software projects and had no
valuable reference based on projects done. So it was clear that
the company could not maintain for long its leading edge as an
agile SE company if nothing was done to solve these problems. A
collaborative research with university and a doctoral candidate
was initiated with the company to introduce a measurement
program in accordance with Scrum with the aim of monitoring
and improving software process performance and eventually set a
database of projects done as a referential to support estimation
and learning. As researchers, the mandate was to model the
development process as executed in the day-to-day operations by
different development teams in the organization, to initiate a
measurement program and test it in a pilot project.
General Terms
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission
and/or
a
fee.
C3S2E-10 2010, May 19-21, Montreal [QC, CANADA]
Editor:B.C.Desai, Copyright 2010 ACM 978-1-60558-901-5/10/05
$5.00
2. OVERVIEW
In this section, an introduction to main agile principles and
Scrum activities are presented first, and then followed by a brief
description of the organizational environment where this work
has taken place.
101
3. GROUNDING CONSIDERATIONS
Dave Nicolette warns that poorly designed metrics lead to poor
outcomes [5]. Before going further with this investigation, it was
decided to carefully analyse several aspects before committing to
any intermediate outcome. Fully understanding the measurement
program environment was the first priority. As a second priority,
the Goal-Question-Metric approach was used to take account of
the specific needs of the company. The agile heuristics presented
in section 3.2 were very helpful to successfully adapt the
approach and create a highly dependable measurement program.
Finally, the general pitfalls that any measurement program
implementation can face were considered and dealt with
appropriately.
102
directly to them. Another reason for this was that the few
valuable metrics in the literature such as Earned Value Measure,
Running Tested Features, etc, were not adopted internally. The
company still relies solely on the burn-down chart to monitor
progress and using intuition as a primary decision tool.
Consider context
Is easy to collect
program
variables
3.4
2.
3.
4.
4.1
4.2
explicitly
improvement.
1.
4.3
103
4.4
specific metrics
5.
7.
8.
Initially, the approach used consisted of individual semistructured interviews based on the following GQ(I)M template
for indicator gathering [11] (table 1). Unfortunately, most of the
interviewees had trouble in following the template. As a
countermeasure, a more familiar user-story-like template was
proposed. By doing this, it was noticed that interviewees enjoyed
the exercise and the gathering work went faster.
Convincing that more discipline is required in doing day-today activities for the benefit of all developers;
Object :
Purpose :
Focus :
The quality attribute of the object under study (what); e.g.,
reliability, effort, error slippage
104
Viewpoint :
Perspective of the goal (whos viewpoint); e.g., project manager,
developer, customer, project team
Environment :
Votes
16
Individual
delivery
performance:
contribution
to value
Object
Purpose
12
Focus
Viewpoi
nt
Developer
Environ
ment
Project level
12
30
41
11
105
4.3.1
The bold lines indicate the root-cause path while the dotted ones
show vicious cycles. The star flag indicates the root causes that
need to be addressed to solve the unhealthy technical debt.
4.3.2
106
required user story, in the next sprint, this will be visible when
the velocity will rise. Technically speaking, this is correct.
However, in terms of lessons learned, teams loose opportunities
to learn from their mistakes. It is believed that providing size and
time estimation and comparing them with real figures may lead
to a variation of 20 % on estimations that will be far more
interesting than making a 150% error up and another 150%
down, without ever knowing why and where.
5. CONCLUSION
In this paper, the idea was to show how difficult and what a
challenge it is when trying to design and implement an
appropriate measurement program in what can be called an
hostile environment. The agile environment hosting this
investigation was studied thoroughly and impediments were
clearly identified and dealt with openly. Risks of failure in
implementing such programs could come primarily from the
resistance to change and a fear of having increased overhead
activities to support data collection. Second risk could come from
choosing the inappropriate set of indicators. These two risk
factors were dealt with by integrating all interested stakeholders
in shaping the measurement program. To go beyond merely
involving them, it is important to understand their most hurting
problems efficiently and make them visible to come to a shared
solution. This will create a feeling of ownership that will
motivate teams and make the necessary but undesired overhead
work seamless.
6. ACKNOWLEDGMENTS
This work is supported by MITACS Inc., a Canadian research
network of Centres of Excellence (NCE) program, FQRNT and
an industrial partner. All opinions, findings, conclusions and
recommendations of this work are those of the authors and do not
reflect the views of these partners.
7. REFERENCES
107