| Agile Software Development |
Article Index for Agile |
Website Links For Agile |
Information AboutAgile Software Development |
|
Agile software Development is a conceptual framework for undertaking Software Engineering projects. There are a number of agile Software development methods, such as those espoused by the Agile Alliance , a Non-profit organization. Most agile methods attempt to minimize , design, coding, testing, and documentation. While an iteration may not add enough functionality to warrant releasing the product, an agile software project intends to be capable of releasing new software at the end of every iteration. At the end of each iteration, the team reevaluates project priorities. Agile methods emphasize realtime communication, preferably face-to-face, over written documents. Most agile teams are located in a bullpen and include all the people necessary to finish software. At a minimum, this includes programmers and their "customers." (Customers are the people who define the product. They may be product managers, business analysts, or actual customers.) The bullpen may also include testers, interaction designers, Technical Writer s, and managers. Agile methods also emphasize working software as the primary measure of progress. Combined with the preference for face-to-face communication, agile methods produce very little written documentation relative to other methods. This has resulted in criticism of agile methods as being undisciplined Hack ing (aka Cowboy Coding ). THE AGILE MANIFESTO Agile methods are a family of development processes, not a single approach to software development. In 2001, 17 prominent figures in the field of agile development (then called "light-weight methodologies") came together at the Snowbird ski resort in Utah to discuss the unifying theme of their methodologies. They created the Agile Manifesto , widely regarded as the canonical definition of agile development, and accompanying agile principles. COMPARISON WITH OTHER METHODS Agile methods are often characterized as being at the opposite end of the spectrum from "plan-driven" or "disciplined" methodologies. This distinction is misleading, as it implies that agile methods are "unplanned" or "undisciplined." A more accurate distinction is to say that methods exist on a continuum from "adaptive" to "predictive." Agile methods exist on the "adaptive" side of this continuum. <--Agile--> <-- Iterative --> <-- Waterfall --> |
|
|