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
   196   197   198   199   200   201   202   203   204   205   206