The agile framework is a just-in-time documentation management strategy. It has evolved over time to help businesses developing applications in a constantly changing environment. An agile framework has a lot to recommend it, including increased flexibility, user responsiveness, productivity, and quality.
Agile framework has a just-in-time response to documentation, creating the requirements a little before they are needed. This allows for increased flexibility, because the requirements can be changed in response to changing needs. While sequential strategies need to have requirements defined up-front, agile framework allows people to consider different options until just before the decision needs to be made, letting managers change the product being developed if it is not what users want.
This quality allows products developed with an agile framework to be user-driven. Features can be added to, or removed from, the product during development. Managers can change the features of the product to better suit user needs and requirements, keeping it the right product for their target audience. Because this method delays working on new features until the start of a new iteration, work does not change abruptly, and managers have time to consider their decisions before the team starts work.
While the team is working, all processes progress at once. Research, development, and testing are done concurrently, so that developers learn what the features mean while they are working on them and can ask relevant questions. Creating tests at the same time allows for any problems to be taken care of immediately, so that finished code truly needs no more work. By having all areas work on the same section at the same time, agile framework increases the productivity of the team. Additionally, the agile practice of having team members on only one team allows them to contribute all their effort, and not waste time switching between tasks.
Agile framework also allows the company to increase the quality of their work, through automated testing. Automated testing means that tests of every completed feature run overnight, so any problems are noticed and corrected before they seriously impact the project. Since agile framework focuses on the importance of teamwork, all work is considered to be done by the team, and any errors are also the team's. This outlook means that everyone has a responsibility to make the program run without problems and will take responsibility to fix it without worrying who was responsible. Combined with a frequent testing process, this allows for a large increase in quality.
These are all good reasons to adopt an agile framework. However, the desire to adopt an agile framework is not enough to make it work in a company. The company must also evaluate the decision, perfect the process, and transfer the skills learned to other projects and other areas of the business.