Answer Questions Quickly
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.


