Typical Agile Process
Friday, January 28th, 2011The below is a list of what a typical Agile process entails. It was taken from an article about Kanban development at AgileProductDesign.com. It’s a good reference and summary for anyone who just wants a basic outline of the Agile Software Development Methodology process.
- Project needs or requirements are expressed in user stories placed in a backlog, and ideally written by Product owners (in Scrum), or customers (in XP) in collaboration with the development team. (Sometimes they magically appear.)
- Developers give high-level estimates saying how long user stories will take to complete.
- Product owners arrange user stories into incremental releases that take typically 6 weeks to 6 months.
- Product owners choose the next stories, highest value first, for each development time-box. The stories chosen need to “fit” into the time-box based on how quickly the team can produce software.
- At the end of each development time-box the team should have incrementally built some of the product. The team (proudly) demonstrates the finished product to product owners and other stakeholders.
- The team adds up the development estimates for the user stories completed during the time-box. This is the velocity (from XP) that’ll be used to estimate the amount that can be completed in the next time-box.
- The team holds a retrospective to evaluate how well they’ve done and what changes could be made to the process to allow things to go better, then the next time-boxed development cycle is planned.
- Time-boxed development continues through to release — which is a short way of saying “rinse and repeat.”