Friday, September 5, 2014

Challenges/Failures in Agile implementation

The Agile way is more adapt to the changes but shall not lose the sight of big picture.

Agile is emerging as a mainstream software project development methodology, the best advantages it brings include interactive communication, iterative delivery and end customer satisfaction. Still, there are quite many challenges in Agile implementation, after looking at some of the projects where agile implementation was not very successful, the following reasons were identified as the potential Agile pitfalls. 

Looking at Agile efforts from the business side, misalignment is a common failure: The thread from feature to product to product portfolio to business and product roadmap stray to separate paths leaving a well managed individual agile product efforts out in the weeds in relation to the other elements. It doesn't align with the marketing message, value proposition, and its fellow product line members. While some projects adopted agile, the supporting functions or some other projects did not adopt it or were not aligned with it and hence the releases were late. So unless the entire organization goes the agile way, such things are likely to happen and there is a high tendency to blame the failure on agile.

Losing sight of the big picture: Most of the times, businesses start a project with a decent zeal and practice Agile rules. With the passage of time, or in the pressure of change-repulsion, most teams/managers tend to fall back to Waterfall practices. They cherry - pick easy steps/processes of Agile and make it a concoction of various processes without understanding the real benefits of pure agile projects and lose the sight of ultimate business goals. Thus, they cannot reap the full benefits of agile. In a nutshell, a poor assessment about where you are and where you are going to, combined with a bad planning (including risk management) on how you are going to achieve your goal. 

Too much focus on individual features versus wholeness: One of the most common challenge/ failure with Agile projects comes from the tendency to think in terms of individual features versus wholeness, which leads to all kinds of problems - both in the finished product and in the project that produces it. While it is common to get so fixated on story cards that teams fail on key product differentiators. The more common problem is that additive feature-centered design encourages products to degenerate into "the bags of features". Feature-A by itself is perfectly fine and so is feature-B, but features A+B together may destructively interfere with each other, preventing a strong center from emerging. In an additive process (like most Agile shops use), nobody sees this happening until after feature-B gets implemented, and it rarely gets corrected. Products produced with Agile tend not to express a strong center because that requires every feature be artfully balanced with every other feature ... and there's no workflow for that in most Agile adoptions.

Common software project pitfalls: Agile projects are a little less susceptible to being riddled with bugs or being made overly complex, but more susceptible to missing a conceptual strong center or lacking innovation. In the end, Agile doesn't make anyone successful - it just changes the odds slightly on some aspects of project execution. In addition, software projects have several modes of failure: 
- Riddled with bugs and poor workmanship 
- Missing conceptual strong center 
- Lacking innovation or coolness 
- Bigger and more complex than necessary 
- System-level integration issues 
- Implemented on a bad choice of tech stack

Last but not least, the culture friction: The change takes place very slow, especially with people who have lived in the nonagile world and there continues some friction between the ideologies which results into team members getting confused. To reap real benefits of agile, automation becomes a necessity which means people will have to put in extra efforts as well as enhance their skills, this does not go well with all.

By following twelve Agile principles, not just walking through Agile practices; perceiving the wholeness of the project, not just crafting individual features; laser focusing on business goals and customer satisfaction, not just treating it as a technical challenge, these barriers can be overcome and achieve the next level Agile maturity.


Post a Comment