Monday, July 16, 2012

Agile Software Development

Agile methods are groups of practices that may apply to various types of projects, but are currently rather limited to development projects in computer science (software design). Agile methods are intended to be more pragmatic than traditional methods. They involve as much as possible the applicant (client) and allow a high response to his requests. They are the real satisfaction of customer needs, and not the terms of a development contract. The concept of agile method was formalized in 2001 by a document, the Agile Manifesto, signed by 17 individuals involved in the evolution of software engineering, in particular, as the author of their own method.

Agile methods and the practices they cover are older than the Agile Manifesto, which is not the birth of agile methods and agile movement, but the formalization of consensus by the authors of these methods, all begun in the second part of the 90s, because they had common values, a common structure or development cycle (iterative, incremental and adaptive), and a base of practices, whether common or complementary.

Among these methods can be found in the foremost place the RAD method (Rapid Application Development) by James Martin (1991), and DSDM, the English version of RAD (1995). Several other methods such as ASD or FDD recognize their direct relationship with RAD (which some of its promoters present as the first published method of agile). The two best-known agile methods in France are the Scrum method (1996) and the XP method, for Extreme Programming (1999).

Agile (adaptive) equals iterative and incremental. An agile method is thus primarily iterative, based on a refinement of the need implemented in the functionality in progress, and even already achieved. This refinement, indispensable for the implementation of the adaptive concept, is realized in software engineering in two ways: functionally, by the systematic adaptation of the product to changes from the need detected by the user during the design and realisation of the product (the concept of permanent validation of the user with RAD and the concept of emerging design with XP); and technically, for regular revision of the code already produced (refactoring). An agile method is then possibly incremental. When the project, regardless of the number of participants, exceeds a duration of ten days on average, the production of its functions are carried out in several steps. The concept of agile method emerged with practices targeting the development of an application computer. But a broader managerial movement (agile management) began to link the agile values to techniques for the continuous improvement of quality (or MTQS Lean).

It has taken almost twenty years of the Agile movement, along with the pressure of globalization, to really shake up traditional project management. Now the future of agile methodology is certainly found first, in instrumentation and customization "a la carte" of essential practices for a specific context and, secondly, in its extension to all aspects of organizational agility. RUP (Rational Unified Process), a product owned by IBM, is an Agile method. There exists a variation of Agile, but not royalty free, under the acronym AUP (Agile Unified Process).


----------------------------------------------------
Written by Lawrence Reaves for UDig - http://www.udig.com - providing effective hiring strategies and recruitment pinciples to place the best IT candidates in rewarding positions. We learn about potential employees as people beyond their techincal skills. Call 1-800-259-8344 to see how we can help.


EasyPublish this article: http://submityourarticle.com/articles/easypublish.php?art_id=280243

No comments:

Post a Comment