Which approach should we take for a high-risk project? This question has been bothering me for quite some time as I am personally unsure which method would actually work well.
Let’s look at the Business Analysis Body of Knowledge and understand what approach could actually be good for handling high-risk projects. The following paragraph is taken from BABoK. BABoK refers to Waterfall as Predictive approach.
BABoK V3 Section 3.1.4
Predictive approaches focus on minimizing upfront uncertainty (risk) and ensuring that the solution is defined before implementation begins in order to maximize control and minimize risk.
These approaches are often preferred in situations where,
Requirements can effectively be defined ahead of implementation,
Risk of an incorrect implementation is unacceptably high,
When engaging stakeholders presents significant challenges.
Now let’s look at factors that BABoK considers important for choosing the BA approach.
If one looks at all the considerations, all the situations advise us to consider predictive (waterfall) approach than an agile approach. The possible reason for BABoK to advise a predictive approach for complex projects is possibly due to the fact that formal methods emphasize continuous risk management.
I absolutely agree to point #1 and point #3 mentioned in the earlier paragraph. Better planning and documentation can always help in situation #1 and #3. However, on point #2 – I have some concerns. Under what circumstances, we treat the project failure as unacceptably high?
For example, if the organization is launching a satellite, the cost of failure is truly unacceptably high. One wouldn't be able to launch multiple satellites just to experiment as each satellite cost millions of dollars. If we are looking at the business world, when can such a situation arise?
By the very nature of a business, the business world is constantly changing, especially wrt to information technology. In an adaptive approach, we have the provision to either modify the project approach based on the iteration outcome. Hence, this allows for a better risk management ability. So apart of exceptional projects, for most business projects, we would be better off with an agile approach for large complex and risky projects. We should be should be looking at waterfall approach for small, simple and predictable projects.
Should we develop a special approach to manage risky and complex projects which allows us to take advantage of both predictive and adaptive approaches?