Friday, April 24, 2015

CIO as Agility Leader: Can a Well Run Agile Project Fail

"Agile is not a silver bullet." Make sure you tackle the biggest risk first and that you fail as quickly as you can.
Agile has emerged as a major methodology to run a software project, or a set of principles to run a business, It advocates three “I”s: Interaction, Iteration and Improvement. It does provide many advantages than traditional Waterfall method, such as faster delivery, customer satisfaction, value driven, etc. However, can a well run Agile project still fail, what’re the root causes, and how to handle them effectively?

Both Waterfall and Agile projects can fail. The only difference is that Agile projects fail earlier. Developing software is not an exact science. There is always a level of risk and a level of uncertainty. Make sure you tackle the biggest risk first and that you fail as quickly as you can. There will always be failed projects. Hopefully there will be less and less failed multi-million dollar projects. One reason for Agile failure is that there is a gap between what the PO has wanted and what the actual users/market really wants. The other reasons could be due to technology challenges, major unanticipated risk cropping up, viability of the project in question due to gross under estimation etc. However, if a project is a 'well run' Agile project, which follows ruthless visibility and transparency, failure will not come as a surprise.

There is also the known risk factor. Every project has risk. Agile is not a silver bullet. It is just a tool to detect and mitigate risks and problems before they will go bigger and blow thing up. By validating the project or product concepts early and by focusing on risks early in the project, you are able to determine in an early phase of the project is viable. You can spoil agile project in one hundred or more ways, but with right implemented Agile, you just have chance to discover it early and change course. Some of these risks can be mitigated by good methods and some can not. Failure, like success, is multi-causal and multidimensional. You can fail politically, run out of funding, lose critical partners. No methodology guarantees success and whether the project is a success or not is up to the shareholders. The relationship between failing early and estimating. A benefit of agile is failing early –  identifying failure and halting the project after minimum investment. Early failure is usually due to an over-optimistic business case or unwarranted assumptions about the capabilities of legacy or third party software. Early delivery of working software can discover these problems much quicker than traditional approaches.

The project is a failure if the ultimate goal of the project is not reached. Delivering what was agreed upon does not necessarily make a project successful. Delivering something other than what was agreed upon does not necessarily make a project fail. A project is successful if and only if it returns more value than it cost. The solution is to have a clear idea of the goal, and not just focus on individual pieces. It's up to the PO to understand where the project is heading and to communicate it to the team. An Agile project, like any project can fail. In project management, every task can be completed, but the project is a failure if the ultimate goal of the project is not reached. Also there is the 'hidden' failure that is not easy to detect and measure in Scrum: The cost of the project becomes higher and the quality of the product lower than they ideally could have been or if using some other project methods. In 'waterfall', the project is considered failed if estimated costs and timetable are exceeded - even if the initial estimations had been inadequate and the completed product a success.

Agile methods / process / tools adoption is not enough to drive success. Building a self organizing team (SCRUM or whatever), delivering software is one thing and scaling team's adoption per external influences (technology roadmap, users' perception, inventing new market segment etc) is altogether another thing. A well run Agile Project can fail when teams do not deliver on their commitments within an iteration. Many factors can affect it including just like in a waterfall project - changing requirements, bad written code that needs to be iteratively modified, complex business requirements that are hard to understand, very few SME that are needed but not available, etc.

"Agile is not a silver bullet," and keep in mind that success is very specific to your point of view. It really says that a definition of success or "well run" in one context may not be valid in another context. In other words, a good thing may not be seen always so "good" by everyone. Delivering what the customer asked for could be considered a success. Agility does not guarantee success, but it's fundamentals enable superior management decisions through transparency, technical challenge elaboration, and communications. Even hybrid agile approaches offer an opportunity for improvement. Fail quick and fail forward.


Post a Comment