Challenges in Agile Projects
Shyam Singhal (Ph.D.)
Digital & Agile Transformation | Product Innovation and Development | Practice Head | Delivery Head | Excellence Head | Ex-Microsoft, Hewlett-Packard, Accenture
Do we have problems in Agile projects?
The other day in casual discussion with my friend, the discussion moved towards Agile and how it has changed the way we execute (not "plan") projects, and how the success rate has changed or not changed.
It intrigued me as now days no one talks about Waterfall anymore.
Then the discussion moved towards success rate with Agile vis-a-vis with Waterfall. We all know that Agile is not the panacea, just the way Waterfall was not. We still have challenges, failures, escalations, burnouts, unhappy customers...This compelled me to search the net for some statistics and content on Agile projects success / failure.
Since, I have also been associated with Agile since 2010 and have executed / managed (some people might object to this word) many projects of various sizes across various technologies, geographies and industries, I also have gathered my experiences and reasons for the challenges; however, that I will discuss in subsequent parts, where I conclude the current discussion with my experiences.
So, the first result in search was "...Agile development projects have a 268% higher failure rate than projects that don't use any methodology...". Then yet another study claimed that Agile projects are 28% more successful than traditional projects. I am sure if you search more you will come across even more claims, counter claims, and "sensational" statistics.
I say sensational, because 268% higher failure rate for following a methodology, vis-a-vis not following any methodology is a little hard to digest. As we don't know, if the sample size was big enough, if the sample was not biased and it was a true representation of population in terms of Industry, Geography, Size, Technology, Customer / Team experience and maturity, 268% being the median or something else etc. The point is, it is 268%, which sensationalized the study and hence more eyeballs. Had it been 26%, no one would have noticed. Just the way you have another claim, pegging Agile being more successful 28% of the time. Again, we don't have the measured parameters for even this study.
Another part which I find a little interesting is the "comparison". That is, if I claim 268% increased failure rate for Agile vs No methodology, then did I execute the same project across compared methodologies? Who defines same / similar projects? What was the criteria used? In absence of all these details, it is difficult to take the claim on its face value.
In fact, I also came across a detailed argument (against 268% claim) by John Ferrier in his article, "Agile Failure – What Drives “268% Higher Failure Rates?”, which is worth reading.
As I have mentioned Agile is not a Panacea, and Waterfall was not a villain either. It all depends on "applicability" and "maturity". Both are quite loaded terms, as they encompass a lot many factors.
Key Point
What I meant by that was the fact that the selection of methodology and customization / tweaking of that depends on these two factors. For example, if the scope is limited and requirements are well defined there is no harm in going with waterfall. If required, break down the development cycle into iterations and let each iteration be production ready. Who can say no to that? Similarly, if you are following Agile-Scrum, but you want to adopt some features / best practices of Kanban, Lean, Six-Sigma or any combination of those, what is the harm, if it improves the effectiveness of the team / project / program?
Core Idea
Remember, methodologies, frameworks, methods, tools, practices etc. are meant to facilitate our work, to enable us to do the work on hand effectively. Hence, are only the means to achieve something and are not the objective or outcome in themselves.?
Therefore, ask the question, what fits better to achieve the outcomes? What customizations that I need to make to align it to my work on hand? How can I further improve it? So, don't debate and make fuss about whether it being a part of the methodology or not, of which one is better. Rather, concentrate on the outcomes.
For example, many times I have combined ADKAR and Kotter's 8 principles for effective change management. Similarly, I have tweaked Agile-Scrum to suit my team's capabilities for effective outcomes. I have also applied Lean principles in Agile-Scrum planning and executions. You decide what works best in the interest of the project / program, such that achieved outcomes align well with the project / program objectives. It provides required visibility to all stakeholders / personas.
As for "Maturity", you asses the maturity of the team as well as the customer. The reason being the compatibility check must be wholistic. Team's technical skills, availability, experience in similar projects, knowledge of domain, skills in execution and customization of methodology, tools, techniques to suit work on hand, ability to assess and evaluate risks...etc., determine the maturity of the team and hence the customizations that you must make. For example, if an organization has just started a journey of Agile execution, then you can't expect them to operate at optimum level from day one, or for that matter in next six months. It would take time.
Similarly, if a customer has just heard of Agile, but is not aware of its responsibilities, can't devote time for the project / program, expects Fixed Fee with the open scope, does not understand that the success of the project / program is dependent on their participation, do not understand the periodic assessment...etc., and vendor is also not ready to broach the topic with the customer, as they fear "poor customer experience" or "escalation", then no matter what you do, it will result in failure, be it cost, outcome, customer experience, internal metrics or anything else.
Therefore, "Applicability" and "Maturity" matters in any execution methodology. We can't replace those or ignore those, just because we are executing in Agile. In fact, with Agile the responsibilities and complexities increase, as things are being progressively defined and completed, where subsequent requirements may create a significant change in what has already been accomplished. Which may result in delay of intermediate and/or final milestones.
Please note that projects don't fail because of "visibility" or "informed decisions" rather because of withholding information and poor decisions. For example, in one of the projects it started with client-side processing because of "offline" requirement; however, at a later stage it got converted into "online" mode. The team continued with "patched" architecture and completed work. Result? Broken application with numerous issues on functional and non-functional aspects, all in the name of "completing" a project without escalation. But it got escalated anyways.
Why do projects fail
We can't say, ‘that is how Agile works’. As that logic usually doesn't work beyond realms of project development and QA teams.
The stakeholders need clarity. No one is holding the other at gunpoint to cast those projections or "informed visibility" in stone. It is just that they want to understand if they need to make any course corrections.
Isn't this the whole premise behind Agile, "fail fast"? As the late discovery of problems / issues or not so pleasant news will only complicate things and increase the cost of correction. So, why not share / reveal those early, such that we reduce those costs? Please remember the costs are not limited to monetary aspects, but those could extend to missed opportunity, missed timelines / critical events, prestige etc.?
There are ways to have “informed visibility”.
In a way I can restate the need for “informed visibility” as,
领英推荐
·?????? What is the current size of the work?
·?????? How many more sprints are required to complete the remaining work?
·?????? What effort and cost are required to complete the remaining work?
·?????? What is the probable scope that can be completed in the remaining sprints?
What if, I say there are ways to do that without making any extra data collection, additional time and effort investment by any of the team members, and yet have reasonable clarity on these questions? It is remarkably simple and the ML models and tool that I developed can provide the "informed visibility" at a reasonable accuracy (>93%). My two (2) patents are pending in this regard.
So, next time when you think of a team, make it inclusive, make the customer a part of it, and think from their perspective too.
So, have the bare minimum, as it will help you and the team in maintaining the sanity. As planning does not mean "Heavy Documentation", similarly heavy documentation does not mean "Planning" either.
If it works for you to have a separate QA team, have a lagging or less automation, have specialized workforce for front, middle and back tier...so be it. As you need to assess "What Works" in current context of a project / program, and not what another team did or what Agile manifesto says. So, focus on outcomes and then define the means, and don't try to define outcomes through means.
If you look at honestly, we spend too much time following the Agile-Scrum ceremonies, whether there is a need for it or not.
That is why Clarity and Transparency from all stakeholder's perspective is paramount. What are the chances that customer will say "No" to prioritize the technical backlog items, if they are informed of the consequences / repercussions?
Similarly, there is no?point in following a methodology to the T, if it is proving to be counterproductive. It holds true for all other tasks and activities too.
Believe it or not many projects get into trouble because of this mindset.
It may be out of fad; however, it is still the most effective and efficient way of accomplishing things, i.e., KISS. As an added benefit, with visibility.
This is just one example, how many more could you find in your journey?
What has happened? We utilized all available resources in incorporating changes or in a way Glod Plating, but the work did not move an inch.
If it is happening in your project, it is your duty to make it visible to all stakeholders. As only then can the decision makers make an informed decision.
As it is your duty to make your concessions explicit in a negotiation, similarly, it is your duty to provide visibility to all impediments / risks to your collective stakeholders. As only then can informed decisions be made, and hence less of a heartburn and escalations.
?
PM | IT Security | Cloud | Bosch Digital Hyderabad
6 个月Well said Shyam, Adaptive life cycles have become the flavor of the current environment. Yes I completely agree that a life cycle selection should be based on the work and the context.
Building Merchaint.com | Sharing my journey as an 8-figure wholesale and traditional business owner | Free products and tips on growing B2B businesses
7 个月Another common challenge is that people unknowingly mask their waterfall approach in their scrum planning, not that is wrong though, just that they have to know fundamentally what they are doing to ensure that the project is progressing.