Agility vs. Discipline
The approach advocated by the "Agile Documentation" movement vs. The Engineering discipline known as "IEEE STD 1233" represent two extremes in attitude and emphasis towards software development. The Agile Documentation approach constantly asks what can be left out of a software program. Agile Documentation has a focus on streamlining and making its software applications accessible to the customer rather than cumbersome and protocol-laden. Agile developers often call their approach the commonsense approach to development, rather than the needlessly bureaucratic standards of the IEEE.
According to software analyst Martin Fowler, there's been a rapidly growing interest in agile methodologies. "Alternatively characterized as an antidote to bureaucracy or a license to hack they've stirred up interest all over the software landscape." (Fowler, 2003) In contrast, while engineering methods are through to impose "a disciplined process upon software development with the aim of making software development more predictable and more efficient," developing a detailed process with a strong emphasis on planning inspired by other engineering disciplines, often there is so much concern with following the methodology that the whole pace of development slows down needlessly. (Fowler, 2003)
On the surface, a compromise between the agility of one methodology, tempered by the caution of the discipline of engineering might seem ideal. But the two approaches are much more difficult to reconcile than they might appear on the surface. For instance, agile methods are not only less document-oriented than engineering standards, they are also more code-oriented, "following a route that says that the key part of documentation is source code."(Fowler, 2003) Agile methods tend to try to include elements to the programming that are adaptive of system changes, rather than predictive as with engineering methods. The agile methods welcome rather than resist change. Lastly, there is a fundamental difference in the 'culture' of developers that have built up between the two approaches, for agile methods are people-oriented rather than process-oriented. "The goal of engineering methods is to define a process that will work well whoever happens to be using it. Agile methods assert that no process will ever make up the skill of the development team, so the role of a process is to support the development team in their work." (Fowler, 2004)
Work Cited
Fowler, Martin (2004) "The New Methodology." ThoughtWorks. Retrieved 11 Feb 2005 at http://www.martinfowler.com/articles/newMethodology.html
Our semester plans gives you unlimited, unrestricted access to our entire library of resources —writing tools, guides, example essays, tutorials, class notes, and more.
Get Started Now