I believe Agile is about Risk Mitigation. I believe Agile teams always aim to deliver value by continuously reducing risk.
Process frameworks like Waterfall introduce and maintain a high level of risk over the lifecycle of a project. Work is typically focused on completing requirements and design first, before any development and testing can happen. Value is not attained for many months. During that time, it’s often not clear whether we’re making clear and measurable progress. Nor is it certain that we are delivering the right value.
Agile principles on the other hand, work to deliver value by reducing risk. That’s accomplished through continuous delivery as requirements are discovered. Agile exposes and provides the opportunity to recognize and mitigate risk early. Risk mitigation is achieved through: cross-functional teams, sustainable and predictable delivery pace, continuous feedback, and good engineering practices. Transparency at all levels of an enterprise is also key. Agile tries to answer questions to determine risk in the following areas, which I will discuss in more detail in a future post:
- Business : Do we know the scope? Is there a market? Can we deliver it for an appropriate cost?
- Technical: Is it a new technology? Does our Architecture support it? Does our team have the skills
- Feedback (verification & validation): Can we get effective feedback to highlight when we should address the risks?
- Organizational: Do we have what we need (people, equipment, other) to deliver the product?
- Dependency: What outside events need to take place to deliver the project? Do I have a plan to manage dependencies?
Yes, Agile is about delivering value. Yes, Agile is about all sorts of cool engineering techniques. I believe that value and technical prowess only serve the greater purpose of Agile: To continuously mitigate and reduce risk.
Why else would you adopt Agile?