Agile stated as “Agile software development “. Agile software development stresses rapid iterations, small and frequent releases, and evolving requirements facilitated by direct user involvement in the development process. This lifecycle management tools provide a framework to visualize scope, orchestrate mundane and repetitive development tasks, and enforce process.
The followings are the central values for agile development
- Individuals and Interactions over process and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
A generic agile development process features an initial planning stage, rapid repeats of the iteration stage, and some form of consolidation before release
Why Agile
Our experience says that agile software development techniques work as they reduce the feedback cycle between the generation of an idea (perhaps a requirement or a design strategy) and the realization of that idea. This not only minimizes the risk of misunderstanding, it also reduces the cost of addressing any mistakes.
Qualitative Advantages if Agile
- Formalized communication
- Permanent validation
- Collective approach to the solution
- Immediate reactivity to problems
- Taking of shared responsibility
- Capacity for simultaneous engineering
Agile Development Characteristics
A dominant idea in agile development is that the team can be more effective in responding to change if it can
- Reduce the cost of moving information between people, and
- Reduce the elapsed time between making a decision to seeing the consequence of that decision
- Place people physically closer
- Replace documents with talking in person and at whiteboards, and
- Improver the team’s amicability-its sense of community and morale- so that people are more inclined to relay valuable information quickly
- Make user experts available to the team or, even better, part of the team and
- Work incrementally
