Menu

Posts tagged “product discovery”

What I look for in product management software

I’ve had this vague sense for a while that I need to dig into the product management software space a lot more. So on Friday I just did it — I signed up for a bunch of accounts and started playing around. As I went through each product I realized two things:

  1. I didn’t know what I was looking for.
  2. Most of the products I was looking at didn’t know why they wanted me to use it either. The landing pages are all great, but once I was in the product, it was like a different (and very confusing) world. Which is kind of ironic for a product that’s aimed at product managers.

So I took a step back and asked myself why I’m actually doing this. What are the issues I’m hoping to address with software? What am I looking for?

In short, I am looking for a better way to plan. JIRA is a great execution tool — I don’t want to change that part. But JIRA is a terrible planning tool. And our current process of using Basecamp and Dropbox Paper for planning works just ok for me. The combination lacks a bunch of things to make it as effective as it can be.

I then identified what I would need to feel like our planning and scheduling process is effective and efficient:

  • A visual, lightweight, flexible representation of our product ideas and overall strategy, to help us with prioritization.
  • Prioritization scoring (customer / business impact, effort, etc.). I’d like to try a version of RICE at some point, but it should be flexible enough to use whatever system we want.
  • Incorporating, summarizing, and linking customer feedback from a variety of sources. We currently do this in JIRA, and it’s not a great workflow.
  • A way to go from general idea to product specifics in an orderly and predictable fashion. Right now we use JIRA, Confluence, Dropbox Paper, and Basecamp, and that can get a little confusing.

This gave me the framework I needed to evaluate the different products I was looking at. I’m not done evaluating, but right now productboard is the one that seems to fit our particular culture and goals the best.

productboard overview

Here are the list of things productboard has going for it:

  • The one thing that makes it stand out from all the others is that it’s a flexible system rather than a process (see the overview diagram above). Instead of forcing a particular software development process, it has no opinion on the specific methodology you use to prioritize and get work done. It’s focused on letting you use your own way to gather customer insights, define business goals, and prioritize work.
  • It will let us gather all user insights together, and prioritize features based on our goals and objectives (or “drivers” in the productboard language).
  • It will let us easily share, communicate, and change the plan without getting too formal about it.
  • If we wanted to, we could have a public-facing portal to get feedback on ideas, like this.

Oh, and their Why productboard? page is pretty solid, especially this phrase:

a way that provides transparency, fosters collaboration, and encourages alignment with the broader product team.

I’m not done evaluating yet, and who knows where we’ll end up. But I thought I’d share my initial thoughts and explorations of this interesting meta-industry.

Using Opportunity Solution Trees to focus on the product priorities that matter

Prioritize Opportunities, Not Solutions is a really good post by Teresa Torres about using the Opportunity Solution Tree methodology to make sure we place lots of product bets early on in a lifecycle, and only implement the ideas that matter. I also like her distinction between one-way door decisions (“once you’ve walked through the door, you can’t turn around and come back through”) and two-way door decisions:

Your opportunity assessment and prioritization decisions are two-way door decisions. Once you choose a target opportunity, you’ll test whether or not you made the right decisions by prototyping and experimenting with solutions that address those opportunities. If you learn through experimentation that you didn’t choose the best opportunity, you can always walk back up the tree and choose another opportunity.

Launching a product is the start of the learning process, not the end

Jeff Gothelf addresses a very common problem in his post on the perils of fixed time, fixed scope projects. This point on what it means when you “launch” a product is so important:

Deadlines imply that if we don’t get the product right on the day we launch, we’re doomed. This is an antiquated point of view. Launching publicly simply begins the process of learning how right (or wrong) our assumptions were. It is the start of a continuous conversation with your target audience and the fastest way to learn how to optimise your system. The sooner you can get something to market, the sooner you can make the system better. By the time you get to your deadline, your product should have been in market for multiple cycles.

Finding the right balance with product onboarding

There are some great product tips in Scott Belsky’s How to Shape Remarkable Products in the Messy Middle of Building Startups, but this part about onboarding particularly stood out for me:

You can’t expect new customers to endure explanation. You can’t even expect customers to patiently watch as you show them how to use your product. Your best chance at engaging them is to do it for them — at least at first. Only after your customers feel successful will they engage deeply enough to tap the full potential of your offering.

One of the hardest things to figure out with onboarding is the right balance of selecting defaults (“doing it for them”) and having users learn by doing things themselves.

For example, within Postmark’s onboarding a continuing debate is whether or not we should auto-create a user’s first “server” for them, or help them understand the concept better by making them do it themselves. Finding the appropriate amount of friction to introduce is an ongoing and important challenge for any product’s onboarding.

Product teams exist to serve customers

Empowered Product Teams is another gem of a post from Marty Cagan. This part stood out to me:

In most companies, technology teams exist “to serve the business.” That is very often the literal phrase you will hear. But even if they aren’t explicit about it, the different parts of the business end up driving what is actually built by the technology teams.

However, in contrast, in strong product organizations, teams exist for a very different purpose. They exist “to serve the customers, in ways that meet the needs of the business.”

The distinction is subtle, but important. If you only serve “the business”, you’re going to make decisions without asking whether something is user-hostile or not (see, for example, scroll-jacking, or Twitter’s tendency to “forget” that you prefer a timeline that shows latest tweets). Bringing customer needs into any conversation about business needs is the way to build something that’s profitable and sustainable.

A thought on product thinking

I feel like we’re trying too hard to make “product thinking” a thing with fancy words and lofty concepts. Like we have some kind of inferiority complex with other disciplines we’re trying to make up for.

Talk to customers, understand the market and the business, and experiment until you get it right. That’s pretty much what product management is, right? How you do that looks different for every company, but that’s where the art comes in.

You can’t codify product management.

Product managers and the prioritization of problems vs. solutions

Scott Colfer writes about product roadmaps in this article, but it includes what I think is a pretty valuable overview of the core role of a product manager:

Product management makes promises to solve problems over commitments to specific solutions. We take the human tendency to specify the means of doing something, rather than the result that is wanted, and redirect it by specifying what is to be achieved, rather than how to achieve it. Product managers are usefully agnostic about solutions — we help teams to prioritize the most valuable problems to solve and then help them to prioritize the solution that requires the least work for the most value — and we’re happy when we learn something that helps us to refine and simplify our solution.

Products as functions

I’ve been really intrigued by Ryan Singer’s thinking around Products as Functions:

Products are easier to reason about when you think of them as functions. They transform an input situation into an output situation.

This lets you describe what the product does as a transformation of the user’s circumstance instead of a bundle of features.

I’ve been using this thinking on a new project we’re working on at Postmark. I like this approach because it gives us a framework to communicate why something is a good idea to work on, and it focuses on the benefit for customers. If our answer to the question “How much better is this new outcome?” is “Not better enough”, then we need to define a better Output situation, which would lead to a better Process.

“One Laptop Per Child”: a great solution to the wrong problem

Do you remember the “One Laptop Per Child” project? The PR event made a huge splash back in 2005, and I remember being really impressed and inspired. As it turns out, OLPC is a textbook example of what happens when an organization has a sincere desire to solve a problem that they simply don’t understand.

Adi Robertson, writing for The Verge, has an excellent history of the project called OLPC’s $100 laptop was going to change the world — then it all went wrong. It starts with this anecdote:

Then, Negroponte and Annan rose for a photo-op with two OLPC laptops, and reporters urged them to demonstrate the machines’ distinctive cranks. Annan’s crank handle fell off almost immediately. As he quietly reattached it, Negroponte managed half a turn before hitting the flat surface of the table. He awkwardly raised the laptop a few inches, trying to make space for a full rotation. “Maybe afterwards…” he trailed off, before sitting back down to field questions from the crowd. […]

If you remember the OLPC at all, you probably remember the hand crank. It was OLPC’s most striking technological innovation — and it was pure vaporware. Designers dropped the feature almost immediately after Negroponte’s announcement, because the winding process put stress on the laptop’s body and demanded energy that kids in very poor areas couldn’t spare. Every OLPC computer shipped with a standard power adapter.

As you read deeper, it becomes clear that they were working on a solution that didn’t take local issues into account at all:

Bender thinks OLPC might have struck more deals if it had focused less on technical efficiency. “Every conversation we ever had with any head of state — every time — they said, ‘Can we build the laptop in our country?’” he says. “We knew that by making the laptop in Shanghai, we could build the laptop [to be] much less expensive. And what we didn’t realize was that the price wasn’t what they were asking us about. They were asking us about pride, not price. They were asking us about control and ownership of the project.”

To put it another way:

OLPC had created a computer that could withstand dust and drops, but it hadn’t accounted for political messiness.

There are many lessons to learn from this story, but most important is almost certainly that a desire to do something good isn’t enough to make a product successful. If you don’t fully understand the problem you’re solving and the people you’re solving it for, your chances of success are incredibly low.

Two product roads diverged in a wood

Forest roads

Photo by Michał Grosicki on Unsplash

Over the past year I’ve become increasingly aware of a fundamental divide in the prevailing wisdom on how good products are built. I’m not talking about waterfall vs. post-waterfall methods. I’m also not talking about the differences between specific methods like Agile and Lean. I’m talking about different philosophies on the best way to build products in an already post-waterfall world.

These differences have been apparent for a while, but they came into stark focus for me over the past week, as I finished reading two books in quick succession: Getting Real by Basecamp and Inspired (2nd ed.) by Marty Cagan. Both books are interesting and worth reading by themselves, but even more so when you read them right after another.

Basecamp and Marty agree on the biggest challenges in building good products, but diverge quite often on how they believe teams should deal with those challenges. Let me provide a couple of examples.

The same, but different

Both books are adamant that value (defined as whether someone will use/buy your product) needs to be validated as early and as cheaply as possible, and that the old ways of doing things are expensive and wasteful. Basecamp says you do this by “racing to running software” and making sure that it’s cheap to make changes:

It’s ok to do less, skip details, and take shortcuts in your process if it’ll lead to running software faster. Once you’re there, you’ll be rewarded with a significantly more accurate perspective on how to proceed. Stories, wireframes, even HTML mockups, are just approximations. Running software is real. […]

With real, running software everyone gets closer to true understanding and agreement. You avoid heated arguments over sketches and paragraphs that wind up turning out not to matter anyway. You realize that parts you thought were trivial are actually quite crucial.

And earlier:

Change is your best friend. The more expensive it is to make a change, the less likely you’ll make it. And if your competitors can change faster than you, you’re at a huge disadvantage. If change gets too expensive, you’re dead.

On the other hand, Marty believes in building prototypes really fast, and testing those with real customers before you commit to code:

One of the most common traps in product is to believe that we can anticipate our customer’s actual response to our products. We might be basing that on actual customer research or on our own experiences, but in any case, we know today that we must validate our actual ideas on real users and customers. We need to do this before we spend the time and expense to build an actual product, not after.

And later, on prototypes:

Product discovery [coming up with a validated product backlog] involves running a series of quick experiments, and to do these experiments quickly and inexpensively, we use prototypes rather than products.

On the topic of “functional specs”, both books agree that writing long specs filled with “requirements” is a terrible way to build software. I don’t think any of us disagrees with that. But again, they diverge on the best alternative. From Basecamp:

So what should you do in place of a spec? Go with a briefer alternative that moves you toward something real.

Write a one page story about what the app needs to do. Use plain language and make it quick. If it takes more than a page to explain it, it’s too complex, The process shouldn’t take more than a day.

Then begin building the interface — the interface will be the alternative to the functional spec. Draw some quick and simple paper sketches. Then start coding it into HTML. Unlike paragraphs of text that are open to alternate interpretations, interface designs are common ground that everyone can agree on.

Marty favors a technique called the Opportunity Assessment for the vast majority of projects:

The idea is to answer four key questions about the discovery work you are about to undertake:

  1. What business objective is this work intended to address? (Objective)
  2. How will we know if we’ve succeeded? (Key results)
  3. What problem will this solve for our customers? (Customer problem)
  4. What type of customer are we focused on? (Target market)

[…] You need to ensure that every member of your product team knows and understands the answers to these four questions before you jump into your product discovery work.

Many ways to skin a cat

To summarize this another way: most people in this post-waterfall world agree that the biggest reason why software projects fail is that various risks are assessed too late, which ends up being too costly for the business to survive. Most even agree on the core principles to follow to fix this: tackle risk as early and as cheaply as possible. Where we are seeing the divide is in how this should be done.

One perspective is what we can call the prototyping movement (I’m deliberately staying away from naming specific methodologies). The goal is to align around business objectives and build functional prototypes to meet those objectives as quickly as possible, and test those with real users before engineering gets involved.

The other perspective, the real software movement, says that even that takes too long, and that nothing can replace the feedback you get from working software in production — as long as you’re able to make changes very quickly.

So which is it?

In our search for easy answers and silver bullets, the obvious next question here is, “ok, so who’s right?” But I think good product managers eschew such easy answers. Good product managers are always learning about different perspectives, but they have to learn through an added dimension—the lens of their own product and culture.

So for me, the real takeaway from these books hasn’t been the prescribed solutions — although those are certainly helpful as idea starters. The real takeaway has been all the roadblocks to good product development that I noted down as I was reading. The different kinds of risk we need to validate. The constraints we tend to miss when we brainstorm and plan. The heavy processes that do nothing more than slow teams down and make them unhappy. How to address those challenges in a particular culture is where the true art of modern product management lies, and what makes the job itself so difficult to pin down, define, and get good at.

I’ve learned a great deal about product, culture, and teams this year. But no lesson has been more valuable than this: the challenges to building good products are universal, but the solutions are not, and the biggest value I can add to the team is to work with them to figure out the best way for us, in our context to address these challenges in a way that ensures the team is happy and productive, and our customers love our products.

I’m guess if I have to make a New Year’s Resolution, getting better at this would be it.