I was recently challenged to boil Agile down to what could be conveyed to a group of folks new to Agile within a 1 hour session. My solution was to constrain the session to 4 key elements of Agile:
- Deliver - I consider delivery to be the fundamental rule of agile -- every iteration without fail. Not necessarily to production, but make sure what you've built works.
- Value - Building something suitable for purpose is the ultimate goal. The absence of value is an indication to reassess, redirect, or stop.
- Prioritize - Deliver the highest value item first. Once done, repeat. Prioritization is not a one time thing. Prioritization is a continuous activity.
- Learn - Experiment all the time. Each iteration tests 2 hypotheses -- one product focused and the other process focused. On the product side, the team is working on what is perceived to believed to be the highest value work. The inspection of the delivered product is the ultimate test of the product hypothesis. On the process side, the team creates and executes what is perceived to be the best possible process given current constraints. The test of the process hypothesis is whether the best possible delivery occurred. The results from both these experiments serves as input to the next experiment.
Ok, I lied. There were actually 5 elements. The fifth? -- Repeat! It's a never ending cycle.