Most of the people seemed to agree that a good process is required to succeed however placing too much importance on just the process alone does not work.
Does implementing a good agile process ensure project success?
You are asking me the same question that a surgeon asks. Am I doing a good job if I follow all the steps and if the patient gets well or if they die is not my concern? My response is what is the goal here? A well patient or a successful procedure?
In this case if the end result is what we logically expect, i.e. the patient gets well then we would call it a successful project with a successful process.
My project could really be to make this 1000 story building which I hope to sell to United Nations – the team organizes itself beautifully and they help me realize my vision in time – but United Nations does not buy the same and I don’t want to sell to anyone else. Is the [process followed for the] project a success – I would say yes. Is the end product successful? I would say no. Who is at fault here? Product Owner most certainly.
Here the team might have got all the process right however they probably built the wrong product. Was the product owner to blame? Yes. Was the team to be blamed. Yes.
So in a nutshell the team should not only be concerned about the process but the end goal as well. The product owner should thoroughly know how to get there. The team should work with the product owner by questioning, challenging his vision, helping him set priorities and articulate them better. It is not the same as doing product owners job but helping her/him do the job so that we have a successful project and not just successful process.
On the flip side what if the situation is reversed. Would a successful project indicate that a great agile driven process was followed? May be not. According to Vikrama Dhiman:
You can make cheaper and probably better footballs by using child labor. The end result is something that will delight the product owner. Is that right to do? No. Similarly, you could get perfect results by bulldozing your developers into submission and working overnight or luring them with additional incentives and bonuses to work more. Or the team just scares away product owner to include changes by estimating obscene amount of time to do things, and eventually completes the product exactly how it was originally expected with minor modifications but exactly how the final backlog looks like.
Hence though mostly we tend to believe that good agile process would certainly guarantee a successful project delivery and vice versa – that may not be the case always.
What are your thoughts?