 |
Agile methodologies are characterised by being:
- Iterative
- Incremental
- Adaptive
- People-focused
In many ways, using an agile methodology means being happy with not knowing everything at all times: a lack of control that is anathema to many stakeholders.
In an agile methodology, the focus is one delivering working product as quickly as possible.
An agile methodology begins ordinarily enough, with a list of customer requirements. The key difference is the shared presumption by all concerned that this list is (quite probably) incomplete. Each element of this (probably incomplete) list of requirements is then prioritised as to what is most likely to deliver value, and the highest is worked on first.
In one form of agile methodology called Scrum a project is arranged into iterations - called Sprints - of around a month's duration. Each Sprint starts with a planning meeting, where a self-organising project team plan out the work they have committed to completing in the coming Sprint, and then each day begins with a 15-minute meeting to communicate progress, re-align the team members work plans and identify impediments to productivity.
Frequent communication means that the development process can more easily adopt changes in priorities. At the end of each Sprint, the team presents the current functionality to the business for review, and the month's iteration can begin, with the team working on the latest objectives.
10 key principles of agile development
- Active user involvement
- A self-organising team empowered to make decisions
- Requirements may evolve but the timescale must stay fixed
- High-level, lightweight, visual, iterative requirements capture
- Develop small, incremental releases and iterate
- Focus on frequent delivery of products
- Complete each feature before moving on to the next
- Apply the 80/20 rule - nothing is ever built right first time
- Testing should be integrated throughout the project lifecycle
- A collaborative & cooperative approach between all stakeholders
|
 |