Introduction to Agile
Ask people to define Agile development and it’s likely you will receive a range of definitions emphasizing different aspects of the process. To us, Agile is about collaborating to deliver the highest value product increment, with high quality, as quickly and as frequently as possible, and continuously improving the delivery process.
Our definition suggests:
- The value of product increments being delivered is estimable, and once estimated (whether as ROI, cost of delay, or some other measure), its value can be prioritized. In Scrum, this is known as working from a prioritized product backlog.
- Agile can be used to create high quality products. Agile does this by creating products in small increments, with each individual increment tested before it is considered done. This process builds quality into the product versus inspecting for quality later.
- Agile can help teams work efficiently and quickly through short, time-boxed iterations for creating product increments. Iterations are generally 1-4 weeks in length.
- Teams should reflect on their process and results regularly to adapt and improve.
There are certainly additional Agile practices that can be used, but building product increments from a prioritized list in time-boxed iterations using quality practices is a great starting point!
The Agile Scrum Framework at a Glance
The Scrum process we teach is shown in the infographic below. Click the image to download a larger version.