Agile Development and Delivery is all about approaching and delivering projects using agile principles and methodology, which are different to traditional methods.
The traditional method for delivering development projects is the Waterfall method. The typical stages of the waterfall development process are as follows;
• Development Requirements
• Design and Architecture
• Development and coding
In this method all the requirements of the development are set at the beginning of the project. The development team then designs, develops, codes, tests and implements all these requirements in one large project. Depending on the size of the project this can take from a few months to many years, which turns out to be the main downfall of the waterfall method. Technology and trends are constantly changing and the list of requirements set at the beginning of the project will inevitably be different to when the project is delivered a few years later, making the development out of date and redundant before it is even implemented.
What is different about agile?
There are a few different types of agile but they are all based along the same principles. Agile delivery starts off similar to waterfall with a list of requirement needs from the project, called a backlog. The backlog is ordered into priority to the business’ needs. This list is not set in stone and is constantly altering, adding new requirements, deleting requirements and changing the priority of the requirements.
The backlog is then designed, developed, tested and implemented in small sections, one to three requirements at a time, according to the priority. These small steps of development allow constant feedback. Part of the agile principles is for weekly meetings or stand up to look at what they have done well, what they could have done better and what they are going to do next, allowing for constant improvement through each step of development.
The benefits of Agile
- Lower Risk: Developement is focused and delivered in business priority order, if anything happens that causes the developement process to come to a stop the key peices that are most valuable will have already been developed in full, creating a much lower risk compared to traditional methods.
- More productive: By focussing on delivering small chunks of fully developed requirement in short time frames, it gives you visible deadlines and actual progress week on week, allowing for a more productive and motivated team.
- Better quality product: Each development sprint has testing built into it, using real end users to inform the design allowing tweaks to be made to give the business exactly what it needs. Meaning the whole development meets the exact requirements of the business at the time when it is fully implemented.
- Faster: By having weekly meetings and deadlines, you can find out early on what is slowing the project down and then apply more resources to that area, keeping a constant flow of requirements being designed, developed and implemented.