Agile developers often refer to the collaboratively-developed Agile Manifesto, which outlines 12 core principles:
- Customer satisfaction by rapid delivery of useful software
- Working software delivered frequently (in weeks rather than months)
- Working software is the principal measure of progress
- Even late changes in requirements are welcome
- Close, daily co-operation between businesspeople and developers
- Face-to-face conversation (and co-location) is the best form of communication
- Projects are built around motivated individuals, who should be trusted
- Continuous attention to excellence and good design
- Self-organising teams
- Regular adaptation to changing circumstances
- The sponsors, developers and users should be able to maintain a constant pace indefinitely
The principles are embodied in several Agile development techniques, the most popular of which is ‘Scrum’ where development, developers and business-sourced product owners work together to continually specify and review code as it emerges.
Business requirements are listed and prioritised on a ‘backlog’, with the top three or four requirements targeted during a ‘sprint’ that lasts several weeks and produces additional code that is generally usable, if incomplete.
Team collaboration is essential in Scrum development, with face-to-face contact preferred and regular meetings held to evaluate progress and plan for the future. Fortnightly ‘retrospectives’ provide the chance to review the last sprint and identify any issues, while ‘showcases’ demonstrate developing functionality and daily ‘stand-ups’” evaluate progress since the previous day; plans for the day; and any potential issues.
Read how CIOs are using Agile methods in Time to get Agile.