Posted by Yannick Martel on June 12, 2009
I expressed on a recent post that the activities done upstream from software development where amongst the most difficult ones in producing a quality software product. Specifically, I was thinking about the role of the product owner.
A software developer has a very creative job, implementing requested features, within the boundaries of time and the constraints of language, framework, existing software and knowledge. Still, the job is pretty clear, even if difficult at times. Then tests, automated or not are there to help declare a job is done.
The role of the product owner in an Agile project on the other hand, is to will something and communicate his willingness. He is to produce a view of the software which would be the most useful for the company or organization, define a trajectory, negotiate with peers, feed this view iteration after iteration to the development team and interact on a daily basis to adjust. It is a bit like the job of a captain guiding his ship through a difficult passage, but without the ability to be happy about your job even if you reach a “correct” destination.
As a ship captain, a good product owner must listen, and then decide – I repeat as it is very important: listen and then decide. We concentrate here two major risks, on which the whole project might flounder: listening without deciding or deciding without listening. This is willing with being helped. Alas, in many corporations willing is not encouraged amongst managers, as it goes with taking risks, and accepting help is seen as weakness.
Is that an obstacle to truly benefiting from Agile methodologies? Yes, but indeed no project can go right without somebody assuming this charge, whatever the method – as for many things Agile only help making it more apparent.