Agile Software Development - Comparison With Other Methods

Comparison With Other Methods

Methods exist on a continuum from adaptive to predictive. Agile methods lie on the adaptive side of this continuum. Adaptive methods focus on adapting quickly to changing realities. When the needs of a project change, an adaptive team changes as well. An adaptive team will have difficulty describing exactly what will happen in the future. The further away a date is, the more vague an adaptive method will be about what will happen on that date. An adaptive team cannot report exactly what tasks they will do next week, but only which features they plan for next month. When asked about a release six months from now, an adaptive team might be able to report only the mission statement for the release, or a statement of expected value vs. cost.

Predictive methods, in contrast, focus on analysing and planning the future in detail and cater for known risks. In the extremes, a predictive team can report exactly what features and tasks are planned for the entire length of the development process. Predictive methods rely on effective early phase analysis and if this goes very wrong, the project may have difficulty changing direction. Predictive teams will often institute a change control board to ensure that only the most valuable changes are considered.

Formal methods, in contrast to adaptive and predictive methods, focus on computer science theory with a wide array of types of provers. A formal method attempts to prove the absence of errors with some level of determinism. Some formal methods are based on model checking and provide counter examples for code that cannot be proven. Agile teams may employ highly disciplined formal methods.

Agile methods have much in common with the Rapid Application Development techniques from the 1980/90s as espoused by James Martin and others. In addition to technology-focused methods, customer- and design-centered methods, such as Visualization-Driven Rapid Prototyping developed by Brian Willison, work to engage customers and end users to facilitate agile software development.

In 2008 the Software Engineering Institute (SEI) published the technical report "CMMI or Agile: Why Not Embrace Both" to make clear that Capability Maturity Model Integration and agile can co-exist. CMMI Version 1.3 includes support for Agile Software Development.

One of the differences between agile and waterfall, is that testing of the software is conducted at different points during the software development lifecycle. In the waterfall model, there is a separate testing phase after implementation. In Agile XP, testing is done concurrently with implementation.

In general if most of the unknowns are known (e.g. good requirements, yet to be fully analysed), the Predictive approach may be more suitable. However if there are a lot of unknown unknowns (e.g. requirements which are known to be weak and cannot yet be improved), the agile approach allows incremental maturation and implementation.

Read more about this topic:  Agile Software Development

Famous quotes containing the words comparison with, comparison and/or methods:

    I have travelled a good deal in Concord; and everywhere, in shops, and offices, and fields, the inhabitants have appeared to me to be doing penance in a thousand remarkable ways.... The twelve labors of Hercules were trifling in comparison with those which my neighbors have undertaken; for they were only twelve, and had an end; but I could never see that these men slew or captured any monster or finished any labor.
    Henry David Thoreau (1817–1862)

    Clay answered the petition by declaring that while he looked on the institution of slavery as an evil, it was ‘nothing in comparison with the far greater evil which would inevitably flow from a sudden and indiscriminate emancipation.’
    State of Indiana, U.S. public relief program (1935-1943)

    There are souls that are incurable and lost to the rest of society. Deprive them of one means of folly, they will invent ten thousand others. They will create subtler, wilder methods, methods that are absolutely DESPERATE. Nature herself is fundamentally antisocial, it is only by a usurpation of powers that the organized body of society opposes the natural inclination of humanity.
    Antonin Artaud (1896–1948)