|
Agile is a set of principles
- Individuals and interactions over process and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Agile is not a distinct process or methodology
Agile does have some distinct attributes
- Frequent and iterative product delivery
- Adaptive and responsive to feedback
- Close customer relationship
- Highly transparent
|
|
|
|
The Manifesto for Agile Software Development outlines twelve principles:
- Customer satisfaction is the highest priority, which you can ensure by delivering them valuable software early and continuously.
- You welcome changing requirements, even late in development, for the customer’s competitive advantage.
- You deliver working software frequently, as in every few weeks rather than months.
- You must have close, daily collaboration between business people and the developers.
- You build projects around motivated individuals, who deserve support and trust to get the job done.
- Face-to-face conversation is the most efficient and effective form of communication.
- Working software is the primary measure of progress.
- Development should be sustainable. You should be able to maintain a constant pace indefinitely.
- You must give continuous attention to technical excellence and good design.
- Simplicity—the art of maximizing the amount of work not done—is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- Regularly, the team should reflect on how to become more effective, and adjust their accordingly.
|
|
The key idea of AGILE is to make projects more flexible by shortening the development cycle and tightening feedback loops. Among the key principles of agile are the following:
- Frequent collaboration and decision‐making by the individual team members, as opposed to mandates from above
- Similarly frequent communication with clients and stakeholders
- Making sure that there is always a working end‐to‐end product, even if it
doesn’t include all of the features that you will ultimately want.
|
|
Agile is an umbrella term that encompasses several methodologies: Scrum, Kanban, Crystal, Extreme Programming (XP), Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD).
|
|