Agile Advisor

The Product Owner's Dilemma

Agile Advisor columnist Aaron Bjork talks about why it’s both necessary and dangerous to listen to your customers.

How do you know that your Agile team is building the right product? That the value that your team is producing each sprint (iteration), is actually the correct assessment? If you’ve read Clayton Christensen’s book “The Innovator’s Dilemma,” you probably know where I’m going with this article. If you haven’t, I’d highly recommend the book. Why? Because Christensen outlines a trap many organizations fall into when product owners do what seems natural –they listen to their customers.

There’s a common saying that many organizations love to throw around– the customer is always right. Said differently, a company should put customers first. It’s a great statement and one that rings true in many industries. Restaurants, hotels, clothing stores, and other industries go to great lengths to ensure that their customers feel appreciated and loved. This keeps customers coming back, and it’s an easy way to differentiate your company's services from those of your competitors.

How does this relate to software? I often tell others that as a product owner, my job is to first listen to what customers want, and then ultimately, build them what they need. It’s a fine line to walk, but it’s an important one. My existing customers will, no doubt, lead me to making my product incrementally better. They’ll tell me about the rough edges I can smooth over, and they’ll push me to discover new scenarios I can support. But my existing customers will rarely help me recognize something new or disruptive in the market.

Disruptive Technology
You can see why I call this the product owner’s dilemma. Agile teaches developers that they need to be collaborating with customers throughout the software development lifecycle. Engaging customers is critical to your ability to deliver value that meets their needs. This is all true and something I fundamentally believe in. The dilemma lies in the fact that while listening to and engaging with customers, a product owner must also carefully watch and analyze the market landscape. As a product owner, you must pay attention to new, disruptive products or technologies that present threats, and be prepared to make hard decisions about items on the backlog.

I often tell people that a good portion of my job is apologizing and empathizing with customers about things we’re not building. It’s often difficult, but it’s absolutely necessary. A decision to not do something is just as important as a decision to build something new. It’s a bit of a backwards approach to thinking about value, but it’s true.

If you’re a product owner, you might ask yourself, are you just improving on existing products? Or are you paying attention to what’s going on outside of your own product, and looking for that next disruptive technology that could turn your industry or market upside down? It’s the product owner’s dilemma.

About the Author

Aaron Bjork is a Principal Program Manager at Microsoft working on Agile experiences and tooling within Team Foundation Server (TFS). Prior to joining TFS in 2008, Bjork worked as a software engineer and development lead in Visual Studio. He is passionate about Application Lifecycle Management solutions and has a strong desire to see teams improve their software engineering practices. Follow Bjork on his blog at blogs.msdn.com/aaronbjork.

comments powered by Disqus

Featured

  • How to Do Naive Bayes with Numeric Data Using C#

    Dr. James McCaffrey of Microsoft Research uses a full code sample and screenshots to demonstrate how to create a naive Bayes classification system when the predictor values are numeric, using the C# language without any special code libraries.

  • Vortex

    Open Source 'Infrastructure-as-Code' SDK Adds .NET Core Support for Working with Azure

    Pulumi, known for its "Infrastructure-as-Code" cloud development tooling, has added support for .NET Core, letting .NET-centric developers use C#, F# and VB.NET to create, deploy, and manage Azure infrastructure.

  • .NET Framework Not Forgotten: Repair Tool Updated

    Even though Microsoft's development focus has shifted to the open-source, cross-platform .NET Core initiative -- with the aging, traditional, Windows-only .NET Framework relegated primarily to fixes and maintenance such as quality and reliability improvements -- the latter is still getting some other attention, as exemplified in a repair tool update.

  • How to Work with C# Vectors and Matrices for Machine Learning

    Here's a hands-on tutorial from bona-fide data scientist Dr. James McCaffrey of Microsoft Research to get you up to speed with machine learning development using C#, complete with code listings and graphics.

  • Sign

    Working with Claims to Authorize Users in ASP.NET Core and Blazor

    When you need to integrate authorizing the user to perform some activity (or just want to retrieve information about the current user), you need to work with the ClaimsPrincipal’s Claims objects. Here’s everything you might want to do.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events