Why am I uncomfortable with Product Backlog?
Though I am a strong believer in Agile process, I always get a feeling that a product backlog does not give the full picture of the expected product and we need something more to define it.
Let us first look at how product backlog is prepared?
- You start with either a business problem or a product idea – and you decide to build a piece of software
- You probably write a very high level specification of what the software should do
- A product owner is identified who breaks up it up into multiple stories on how the user is going to use the software
- Stories are prioritized and build one by one
- At each stage the software is reviewed by product owner – and any required course correction incorporated
- Once all the stories are completed the product is ready
Essentially, what we are doing is:
- Define the problem
- Break it up into smaller parts
- Solve each one individually
- Put it together and hope that it solves the original problem
Yes, I know we iterate – and in theory iteration is suppose to reduce the gap between “is” and “should be”. But the big question is do we accurately know the “should be”?
That brings us to the debate between “Designed Solution” vs. “Emergent Solution”. We all know that Linux has emerged – that Wikipedia has emerged. However, what we forget is that for a good solution to emerge we need to try out many alternative and select the best. Here is an interesting quote from The Cathedral and the Bazaar by Eric Steven Raymond
“…you often don’t really understand the problem until after the first time you implement a solution. The second time, maybe you know enough to do it right. So if you want to get it right, be ready to start over at least once”
In a commercial situation, how often do you have this luxury? How often can you try out multiple ways of doing the same thing?
What is the alternative? To have somebody who understands the problem and understands what the solution should be. The product owner is supposed to be that person (see this).
However, this only means that the solution will be as good as the product owners understanding of the problem.
Does this not tilt the solution to “Designed Solution” rather than “Emergent Solution”? Does it not put too much responsibility of the shoulder of the product manager?