summary
The basics
Originating from the world of IT where the concept of Agile refers to a set of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. Nowadays, the principles of the Agile approach are also used in other domains, for example design & engineering, product development, manufacturing, etc.
Summary
Incremental software development methods have been traced back to 1957. ‘Lightweight’ software development methods evolved in the mid-1990s as a reaction against ‘heavyweight’ methods, which were characterized by their critics as a heavily regulated, regimented, micromanaged, waterfall model of development. Supporters of lightweight methods (and now Agile methods) contend that they are a return to earlier practices in software development. Early implementations of lightweight methods include Scrum (1993), Crystal Clear, Extreme Programming (XP, 1996), Adaptive Software Development, Feature Driven Development, DSDM (1995, called DSDM-Atern since 2008), and the Rational Unified Process (RUP, 1998). These are now typically referred to as Agile methods, after the Agile Manifesto.
The Agile Manifesto has twelve underlying principles:
1. Customer satisfaction by rapid delivery of useful software
2. Welcome changing requirements, even late in development
3. Working software is delivered frequently (weeks rather than
months)
4. Working software is the principal measure of progress
5. Sustainable development, able to maintain a constant pace
6. Close, daily co-operation between business people and
developers
7. Face-to-face conversation is the best form of communication
(co-location)
8. Projects are built around motivated individuals, who should
be trusted
9. Continuous attention to technical excellence and good design
Copyright protected. Use is for Single Users only via a VHP Approved License.
For information and printed versions please see www.vanharen.net
Agile project management ®
74
10. Simplicity
11. Self-organizing teams
12.Regular adaptation to changing circumstances
Agile methods break tasks into small increments with minimal
planning and do not directly involve long-term planning.
Iterations are short time frames. Team composition in an Agile
project is usually cross-functional and self-organizing and team
size is usually small (5-9 people). The Agile method encourages
stakeholders to prioritize “their requirements on the basis of
business value”.
The Agile approach is supported by the Agile Alliance, a not-forprofit organization that wants to see Agile projects start and help
Agile teams perform. It is funded by individual memberships,
corporate memberships, and by the proceeds from the Agile
conferences. It is not a certification body and does not endorse
any certification programmes.
Target audience
Anyone involved in an Agile development project team; including
analysts, architects, developers, engineers, testers and business
customer/users; anyone supporting or managing an Agile project
team who requires a detailed understanding of the practices and
benefits of Agile development.
Scope and constraints
Applicable to development environments. Improved quality;
higher productivity; positive effect on business satisfaction.
Constraints:
• Works less well in distributed development efforts where
teams are not located together
• Acceptance: forcing an Agile process on a development team
that is unfamiliar with the approach
• Exceptions: mission-critical systems where failure is not an
option at any cost (e.g. software for surgical procedures)