Page 201 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 201
Unit 9: Metrics
Notes
Software Metrics in an Agile Organization
or any software organization the ability to accurately estimate its projects attributes,
such as time, effort, and cost, is a priceless advantage in a highly-competitive global
Fmarket. In order to attain useful estimates of these attributes, a set of software metrics
must be implemented by the organization. For this reason, the appropriate use of quality
and productivity metrics embodies one of the most important quality management tools
any software organization can have.
On the other hand, over the last decade organizations of all types have replaced their
traditional software development life cycles with a new set of so-called agile methodologies,
whose main principle is to return to the origins of software engineering where the
development tasks were mostly empirical and without much planning and documentation.
After almost a decade of the Agile Manifesto’s publication and much experimentation, agile
methods have gained acceptance as effective software development methodologies and are
now widely used in many different types of organizations. For them, however, the problem
of successfully implementing software metrics is still present.
From the software measurement standpoint, there is nothing in agile methodologies
opposite to measuring quality and performance. By the contrary, the short-iteration, rapid-
change-response, rolling-planning, test-driven development nature of these methodologies
require constant measurement of projects, processes, and products as to ascertain progress.
If “working software is the primary measure of progress” as stated in the Agile Manifesto,
then agile organizations need a method to measure completion of its products and determine
progress.
Measurement is a primary tool for managing software life cycle tasks, including planning,
controlling and monitoring of project plans. This is especially true in agile organizations,
where these are “every day” activities. However, not all metrics processes and standards
developed over the years for traditional “non-light” lifecycle models can be straightforwardly
implemented by agile organizations without some adaptation. They need to follow a different
approach in implementing a successful metrics program, particularly if they are small
organizations (less than 100 people).
We describe the experience of a small agile software development Organization in starting
a metrics program. We provide a description of the design made and the results of the
implementation effort. Details are provided on how the ISO/IEC 15939 for software
measurement was used as a guideline in an organization that uses Scrum. The contents of
this might interest agile organizations.
Software Metrics Standards
There are many standards available to help organizations starting a measurement program. In
our case, as our main guideline. This standard, based on the Practical Software Measurement
(PSM) methodology developed by McGarry et al. describes a four-phase process for
implementing a measurement program. its main outcomes. The process starts by establishing
Management commitment and assigning roles and responsibilities to organizational units
and individuals. Then, the metrics program is planned by deriving the set of metrics based
on business goal. Next, in step three the program is implemented and the first results are
obtained. Finally, in step 4 the program is evaluated by validating the implemented metrics
and making changes accordingly.
We followed a streamlined version of this process to implement our project since the 15
steps proposed in this standard are too burdensome for small organizations. Besides, the
organization was not specifically interested in complying with the standard. In addition,
Contd...
LOVELY PROFESSIONAL UNIVERSITY 195