Saturday, April 23, 2011

Where is the driver? The importance of a Product Owner in an Agile Software Development Team

By using Agile Development teams can achieve impressive levels of productivity. However, no matter how fast your car could be if you don’t have a place to go.
Agile teams depends on the information and the clear guidance provided by Real Customer Involvement.

Traditionally, waterfall oriented organizations fail to adopt agility because they contract software development the same way as they buy things. The requirements are drawn up, a supplier quotes a price (based on their interpretation of the requirements and estimates of cost) and everyone signs a legally binding agreement.
The fact is that right after this agreement everyone argues about what is actually in scope, what is out of scope, and what constitutes a change request to the contract. The customer gets some hours of software development effort, the supplier gets some money, and everyone is unhappy.

But...

This is collaborative game!

Real Customer involvement drives the team to understand what is to be build.

The first step to have what you want is to know what you want.

But sometimes (most of the times) the development of a new product has a lot of unknowns and uncertainties. That’s right. And an agile framework provides an excellent alternative for this environment.
Scrum, for example, proposes the role of “Product Owner”. The Product Owner (PO) is the responsible for the Return of Investment of the project. He/She is in charge of collaborating with the team to explain what the stakeholders want, what they need, what they are willing to pay. The PO has to answer the question of “What Problems Will the Project Address?” and uses User Stories to get the problem and to make sure he captures the stakeholder type in the comments.
We use the User Story format “As a , I need to so that ” in order to force the discussion on what the stakeholder is trying to achieve and the costs of the business problems.
“I don’t know what is supposed the system to do.” Well, start small. The iterative nature of agility gives you a perfect fit to manage risks until you decide with more information available. In the meantime, collect the information from the stakeholders, the PO must capture both functional and non-functional requirements but most important, he/she needs to prioritize the User Stories in order to maximize the Return of Investment of the project.

In a framework that is business driven, the product owner is a must, it is not optional. You might have the best development team with a great Scrum Master, but if the Product Owner fails, all the project will fail too.
If you want to take the benefits of Agile, be prepared to collaborate, be prepare to trust, be prepared to continuously working with your team abandoning the “buying things” model. Software Development is a creative process that demands intellectual investment, adaptation, collaboration, guidance and require the active stakeholder participation.
Be prepared for driving your project to success.