One of the most important skills for a Product Owner is to answer questions quickly, which means that they have to really know their product and understand WHY it’s needed, WHAT’s needed, and WHO it’s for.
Developers have to dive deep when they’re writing software and they come up with questions that non-developers may never have anticipated. Understanding these questions and finding the answers that best fit them is critical to building a really good product. This comes from knowing what we want to build and also knowing some of the challenges that the people face when building it.
I act as the Product Owner in my lab course on Extreme Programming practices and I understand the kind of questions that developers have when they’re building a software product. Developers really appreciate getting clear answers to their questions so that they can move forward quickly.
The number one blocker to all software development is technical debt. It seems like we’re always fighting with existing code whenever we want to enhance a system. But the number two blocker in software development is developers not getting questions answered quickly. Because of this we make assumptions and unfortunately our track record reveals that we don’t always get it right and so we have to undo new things that were based on assumptions that didn’t turn out to be true.
How frequently does this occur? How often do developers end up reworking decisions they made previously? According to an NIST study, on average 80% of a software developer’s effort is spent reversing irreversible decisions made in the first 20% of their effort.
Shocking but true! When I see figures like this I realized that we don’t place enough value on sequence and understanding how to effectively build a good software development process.
We figured this out with building construction. The building industry isn’t suffering the major catastrophes that we in the software industry are facing. Sure, there was a time when buildings were unreliable and collapsed spontaneously. We know this from looking at archaeological digs. Even the Cathedral of Notre Dame had to be rebuilt three times before they invented the flying buttress which still stands today. Progress is being made but it’s slow and the software industry is a young industry.
In a lot of young industries there is usually a key player that leads the effort. Consider the film industry which is also a fairly young industry. There’s a collection of a few film directors that are trusted by Hollywood with hundreds of millions of dollars for their budgets to make a feature film. It turns out that it takes great skill to make a feature film and this not just the director but it’s a collaborative effort. It takes a lot of great skill to write a great screenplay and do all of the roles both behind the scenes and in front of the camera but to put a great film together really requires the vision of one individual who is usually the director.
In the same way, the software development industry has a pool of superstars and fairly often on teams they are not actually the developers but the Product Owners who hold the vision of the product, so the product really gets made to be a useful and complete tool.
Great products are the result of a team effort and great teams are often led by great Product Owners. Great Product Owners clearly communicate the vision of a product and are able to answer questions quickly so that the development team can get to the business of building it and delivering it to customers rapidly.
Note: This blog post is based on a section in my book, Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software called Seven Strategies for Product Owners.
Previous Post: « Describe What You Want Not How to Get It
Next Post: Remove Dependencies »