What is Agile?
Agile is a time boxed and iterative approach to software delivery.
The goal of Agile is iterative production of shippable and functional solution that’s achieved through efficient internal (team) as well as external (customer) communication and collaboration.
Agile is not only an approach but also a mindset.
Items are delivered in iterations and it’s done with an expectation that each iteration is analyzed by the team and the deliverable quality and processes that enable their daily work is iteratively improved.
4 Values of Agile
In 2001, 17 developers created what they called Manifesto for Agile Software Development.
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
These are the four values that enable agile to perform well in requirement changing and dynamic environment.
12 Principles of Agile
1. Satisfy the customer through early and continuous delivery of valuable software.
2.Welcome changing requirements.
3. Deliver working software frequently.
4. Work together daily throughout the project.
5. Build projects around motivated individuals who are supported and trusted to get the job done.
6. Use face-to-face conversation whenever possible.
7.Working software is the primary measure of progress.
8.Maintain a constant pace indefinitely.
9.Give constant attention to technical excellence and good design.
10.Simplicity—the art of maximizing the amount of work not done—is essential.
11.The best architectures, requirements, and designs emerge from self-organizing teams.
12.Reflect on how to become more effective, then tune and adjust accordingly at regular intervals.
Agile Framework is an approach or a process that follows the core values of agile
These are a few of the most popular Agile frameworks that can be used to apply principles of Agile: