Agile Practices Reduces Software Development Issues

In a large study of the effects of switching to agile ways of working at a unit of Ericsson in Sweden researchers Kai Petersen and Claes Wohlin found a number of issues with Agile Software Development but far fewer than with the previous plan driven approach. The table below shows the issues found with the plan driven approach and the agile approach respectively. Issues are rated by their severity and frequency on the following scale “general problem”, “very common problem” and “common problem”.

Issues with Software Development
With PD With Agile
Test Coverage: A general problem. Due to verification being the last step in the development cycle. Lost time was recovered by reducing test coverage. Test Coverage: A common problem.
  1. Due to short cycle times (three months) it was hard to do thorough testing.
  2. The expensive equipment required was not sufficiently available – which does indicate higher test coverage?
  3. Due to working in the same feature teams, testers lost their independence from the developers thus covering less area outside the “box”.
Requirements waste: A general problem. A lot of work was wasted on requirements which were never fulfilled or marketed because planning started so early. Release: A common problem. Sometimes release was involved to late in the process.
Faults found late: A very common problem. Because testing was late in the process so were the faults found. Fault slip through analysis was developped to quantify this problem. Management overhead: A common problem. Because there were more and smaller teams more coordination was required between the teams.
Faults found late: A very common problem. Faults found late were more expensive to fix. Delayed deliveries. A very common problem. If a package was not of sufficient quality for the planned delivery, it had to wait until the next release cycle.
Requirements waste: A common problem. A lot of requirements documentation was produced but never used.
Resource waste: A common problem. Design units had free capacity because of requirements lead times.
Requirements confusion: A common problem. It was not clear who implemented which version of a requirement.
High FST to customers. A common problem. Faults were not found – due to low test coverage – and so found in the production system by the customer instead.
Project management. A common problem. ” Specialized competence focus and lack of con-
denc”

URL: User Requirements with Lego
URL: User Requirements with Lego by webatelier.net, on Flicker. Used under a create commons license, click image for details.

As you can see, the number of problems reported, the nature of the problems reported and the severity of the problems reported was much changed according to the report. With the plan driven approach, the company tried to anticipate years in advance what customers would like to purchase. Often these predictions were wrong leading to a lot of waste and a lot of pressure on the organization. This trend is not going to go away. So this research further emphasizes the importance of being agile.

Some of these issues had been reported in previous work by Petersen and Wohlin while other issues were reported for the first time in this publication.

References

  • K. Petersen and C. Wohlin, “A comparison of issues and advantages in agile and incremental development between state of the art and an industrial case,” J. syst. softw., vol. 82, pp. 1479-1490, 2009.
    [Bibtex]
    @article{citeulike:9897431,
    abstract = {Recent empirical studies have been conducted identifying a number of issues and advantages of incremental and agile methods. However, the majority of studies focused on one model (Extreme Programming) and small projects. To draw more general conclusions we conduct a case study in large-scale development identifying issues and advantages, and compare the results with previous empirical studies on the topic. The principle results are that (1) the case study and literature agree on the benefits while new issues arise when using agile in large-scale and (2) an empirical research framework is needed to make agile studies comparable.},
    address = {New York, NY, USA},
    author = {Petersen, Kai and Wohlin, Claes},
    citeulike-article-id = {9897431},
    citeulike-linkout-0 = {http://portal.acm.org/citation.cfm?id=1596029},
    issn = {0164-1212},
    journal = {J. Syst. Softw.},
    keywords = {20111010},
    month = sep,
    pages = {1479--1490},
    posted-date = {2011-10-13 09:29:14},
    priority = {0},
    publisher = {Elsevier Science Inc.},
    title = {A comparison of issues and advantages in agile and incremental development between state of the art and an industrial case},
    url = {http://portal.acm.org/citation.cfm?id=1596029},
    volume = {82},
    year = {2009}
    }
  • K. Petersen and C. Wohlin, “The effect of moving from a Plan-Driven to an incremental and agile development approach: an industrial case study,” Empirical software engineering: an international journal, vol. 15, iss. 6, pp. 654-693, 2010.
    [Bibtex]
    @article{citeulike:9886320,
    abstract = {Abstract So far, only few in-depth studies focused on the direct comparison of pro-
    cess models in general, and between plan-driven and incremental/agile approaches in
    particular. That is, it is not made explicit what the eect is of moving from one model
    to another model. Furthermore, there is limited evidence on advantages and issues
    encountered in agile software development, this is specically true in the context of
    large-scale development.
    Objectives: The objective of the paper is to investigate how the perception of
    bottlenecks, unnecessary work, and rework (from hereon referred to as issues) changes
    when migrating from a plan-driven to an incremental software development approach
    with agile practices (
    exible product backlog, face-to-face interaction, and frequent
    integration), and how commonly perceived these practices are across dierent systems
    and development roles. The context in which the objective should be achieved is large-
    scale development with a market-driven focus. The selection of the context was based
    on the observation in related work that mostly small software development projects
    were investigated and that the investigation was focused on one agile model ({eXtreme}
    programming).
    Research Method: A case study was conducted at a development site of Ericsson
    {AB}, located in Sweden in the end of 2007. In total 33 interviews were conducted in order
    to investigate the perceived change when migrating from plan-driven to incremental
    and agile software development, the interviews being the primary source of evidence.
    For triangulation purposes measurements collected by Ericsson were considered, the},
    author = {Petersen, Kai and Wohlin, Claes},
    citeulike-article-id = {9886320},
    citeulike-linkout-0 = {http://denver.bth.se/fou/forskinfo.nsf/3efcc0263496fe93c125681f0031bfd0/b213884de3ec2f29c125780d006c59e9/$file/Effect%20of%20moving_template.pdf},
    journal = {Empirical Software Engineering: An International Journal},
    keywords = {20111010},
    number = {6},
    pages = {654--693},
    posted-date = {2011-10-10 13:36:44},
    priority = {0},
    title = {The Effect of Moving from a {Plan-Driven} to an Incremental and Agile Development Approach: An Industrial Case Study},
    url = {http://denver.bth.se/fou/forskinfo.nsf/3efcc0263496fe93c125681f0031bfd0/b213884de3ec2f29c125780d006c59e9/$file/Effect%20of%20moving_template.pdf},
    volume = {15},
    year = {2010}
    }

2 thoughts on “Agile Practices Reduces Software Development Issues”

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>