A group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle.
Well-known agile methodologies include:
- Agile Modeling
- Agile Unified Process (AUP)
- Crystal Clear
- Dynamic Systems Development Method (DSDM)
- Essential Unified Process (EssUP)
- Extreme Programming (XP)
- Feature Driven Development (FDD)
- GSD
- Kanban (development)
- Open Unified Process (OpenUP)
- Scrum
- Velocity tracking
- Lean software development
Agile Manifesto
In February 2001, 17 software developers[ met at the Snowbird, Utah resort, to discuss lightweight development methods. They published the Manifesto for Agile Software Development to define the approach now known as agile software development. Some of the manifesto’s authors formed the Agile Alliance, a nonprofit organization that promotes software development according to the manifesto’s principles.
The Agile Manifesto reads, in its entirety, as follows:
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Twelve principles underlie the Agile Manifesto, including:
- Customer satisfaction by rapid delivery of useful software
- Welcome changing requirements, even late in development
- Working software is delivered frequently (weeks rather than months)
- Working software is the principal measure of progress
- Sustainable development, able to maintain a constant pace
- Close, daily co-operation between business people and developers
- Face-to-face conversation is the best form of communication (co-location)
- Projects are built around motivated individuals, who should be trusted
- Continuous attention to technical excellence and good design
- Simplicity- The art of maximizing the amount of work not done – is essential
- Self-organizing teams
- Regular adaptation to changing circumstances
Some Agile Resources:
Some Agile Certificates:
This is the perfect website for everyone who hopes to find out about this topic. You understand a whole lot its almost tough to argue with you (not that I actually would want to…HaHa). You definitely put a new spin on a subject which has been discussed for ages. Excellent stuff, just wonderful!