Menu

Posts tagged “product management”

Running and breathing and problem-solving

I want to tell you a quick story about running. And I know it’s a little weird to make everyday life stories about product design but I can’t help myself, so I’m going to do that at the end. Let’s be cool about it, ok?

So.

I hate running. I’ve always hated running. A couple of weeks ago my friend Jason came over for a visit and started asking me about it. He wouldn’t let up. Bastard kept pressing. “Why do you hate running so much?” Over and over and over. Eventually we narrowed it down to breathing. I’ve always felt uncomfortably out of breath when I run. This is when my wife joined the party, and feeding off each other, they kept at it.

What felt like hours later, through their incessant questioning, we figured out that I’ve been breathing ridiculously wrong during my runs for two decades. For reasons that I am unable to explain, I’ve always timed my in-and-out breathing with every third step. Not second. Not fourth. THIRD. The result is that I’ve basically been hyperventilating through my runs for the better part of 20 years.

Anyway, they coached me for about five minutes on how to breathe. Turns out — and this is going to blow your mind — your body knows when it has to breathe. All you have to do is stop trying to force some kind of rhythm. Just focus on getting as much oxygen into your lungs as you possibly can, and then letting it out slowly. Your body will find its own rhythm.

The next day I tried out this revolutionary breathing mechanism. Not only was it enjoyable, I ran faster and further than usual. Last weekend, not even two weeks after they accosted me, I went for a 10k run. It was my fastest 10k ever, and more importantly, I enjoyed it.

Portland 10k

I keep switching back and forth between being really pissed that I’ve been doing it wrong for so long, and ecstatic that I’ve been able to figure out the issue. I’m still blown away that a change in breathing can have such an immediate and enormous impact. Mostly, I’m thankful for my friend and my wife, who persisted way past the point of annoyance, and gave me a new lease on running (and, not to be dramatic, but life too).

Here’s where we get to the product design bit. This experience taught me another lesson, something that’s already deeply ingrained but I still forget it sometimes:

You cannot come up with a good solution before you understand the problem completely.

I tried that shortcut with the running thing. I switched up the cadence, or tried to just “break through the wall”. It wasn’t until someone pushed me to get to the cause of it all that we were able to find the right solution. So I resolved to be just a little more annoying at work. All it really comes down to is asking Why? a few more times than I think I should. I know that the answers will help us understand what we’re trying to accomplish, and building a better product for our customers.

Product Management for well-established products

There’s a lot you need to get right when launching a new product. There’s figuring out the user needs and the business goals; there’s testing hypothesis and finding product/market fit; there’s prioritizing the roadmap (or more likely these days, deciding not to use a roadmap at all)… the list goes on and on. So naturally there’s quite a bit of writing on this topic. Most product management advice (including, ahem, a certain book) covers this area of fresh or updated products very well. What we see less of is articles and books about how to manage a well-established product.

What do I define as a well-established product? It’s fuzzy, but I see it roughly as a product that has been in the market for more than a couple of years, has a steady and growing revenue stream, as well as a few healthy competitors. The reason I’m interested in well-established products is because, well, Postmark (where I work) is one. We have a product that most of our customers love, and it’s growing in both users and revenue. Of course we have ideas on how to make it better, but we’re in a different stage of our journey. We’re not frantically playing catchup with competitors or trying to complete a bunch of features that aren’t adding value to any customers yet.

This is, I’ll admit, a wonderful position to be in as a product manager. But it doesn’t mean there’s no work to do. I’ll stop short of pulling out the “software is never done” trope (in fact, I’d argue that software can be done). I will say that we’re definitely not done with ours yet. So as a product manager, I learned this year that well-established products face a different set of challenges than newer products. Here’s an incomplete list of my hypotheses about managing such products:

  • Prioritization becomes a much finer art (with a little less science).
  • Roadmaps become more important.
  • Process becomes more necessary.

I’d like to spend a little time discussing each of these issues separately.

Weekend work

Prioritization

When I started at Postmark we went through a full product discovery and prioritization exercise. I wrote a long post about it on our blog: How we built a product vision and roadmap. I also followed that up a few months later with From roadmap to shipping: effective product management for remote teams — a post on how we moved from strategy to execution. Something I didn’t get into in those posts is how my understanding of prioritization evolved as we moved further into the details.

Postmark is a tool for developers. That means that feedback from customers comes in often, and it comes in detailed. Feature requests are usually incredibly specific (and useful), ranging from a field that’s needed in an API, to missing functionality and how that affects their business. Due to the sheer volume of high-quality feedback we get, I learned quickly that I needed an efficient way to categorize and prioritize things as they come in, otherwise everything would just go die on a backlog somewhere.

The biggest shift here was to move to a system where we prioritize themes, not individual problems or features. A theme is loosely defined as a particular customer problem or opportunity we need to solve — similar to the “hypothesis” nomenclature in lean development. Now, when new ideas come in to JIRA (Yes, yes, I know; more on JIRA later) — either internally or from customers — I follow a set of steps to (1) process and (2) prioritize them:

  1. First I do a gut check: is this something we’d ever do? Does it point to a customer problem or business opportunity that would be beneficial for all of us to solve? If so, great. If not, the request gets rejected with a note so we can get back to the customer or internal stakeholder.
  2. If a theme already exists for a particular idea (e.g., Improvements to the Bounce webhook, or Improvements to the Statistics page), I add it there, and considered it processed. It would be too overwhelming to think through the details of every single idea, but I know that when the time comes to work on a particular theme, it’ll be there, and we’ll go through it then.
  3. If a theme doesn’t already exist for that idea, it gets a little trickier. Is this important enough to group together with other things to create a new theme? Do we expand a theme to “make room” for the idea? This is where things get decidedly less certain, and I have to be comfortable with a certain amount of fluidity. I might create a new theme, only to merge it into something else later. That’s ok. As long as it’s somewhere manageable where we won’t forget about it, I’m happy.

During our quarterly planning I don’t make the team go through every single JIRA ticket (to their enormous relief). Instead, we discuss our OKRs (Objectives and Key Results) for the quarter, and then decide which themes to work on that line up with those OKRs. Once our themes are prioritized, I work with the teams to figure out how best to address it — it’s usually a combination of some of the ideas already inside that theme, and a few new ones we come up with.

And this leads me to my next point…

Roadmaps

I’m still quite amazed at how out-of-fashion roadmaps have become. It seems to me that a lot of people got burnt by 2-year corporate plans that weren’t allowed to change, and then decided that the only way to deal with that (admittedly atrocious) situation was to get rid of roadmaps altogether.

I respectfully disagree.

I’ve written about this before, so I’ll just reiterate one bit here:

The purpose of a product roadmap is to set forth a long-term vision for the business, and break that up into smaller, meaningful pieces of work, based on what you know now. It’s fallacy to believe that this is an unchangeable list of dates about where the business is headed. A product roadmap that doesn’t react to day-to-day changes in the market and within the company is a pretty dumb document.

This is, in my experience, especially true for a well-established product. There is a lot more leeway to mess around and see where things go on a new product. With an established product, it’s way too easy to get off track (Evernote, anyone…?). So what I argue for is a flexible quarterly roadmap of prioritized themes. You don’t write down dates next to a long list of features. You don’t make hard commitments for releases that might never happen.

Instead, you put together a list of themes you’d like to work on, in order of priority, based on how closely they align with your objectives and key results for the quarter. And then you meet every week as a core team to discuss a couple of things:

  • Did any new theme arise over the week that is important for us to discuss?
  • If so, and if we should work on it soon, what does it replace?
  • If not, then let’s get back to work.

This keeps the roadmap flexible, and it keeps the team aligned on what the most important themes are for the product and our customers.

Process

Which brings me to my last point… process. I’ll quote Michael Lopp on this until the day I die:

Engineers don’t hate process. They hate process that can’t defend itself.

Considering the sheer number of detailed input we get on the product as well as the amazing ideas coming from inside the team, there’s no way I could just wing it. Maybe there are some PMs who can hold everything together in some kind of virtual kanban board in their heads, but I just can’t do that.

So yes, we use JIRA, and you know what? It works for us. The Customer Success and Marketing teams submit ideas and hypotheses with links to the customers who request it. If and when those ideas make it into a theme, they continue to add more customers to it as we go. They can always see where something is in the development process, and when it gets released they get to go tell a bunch of customers that the thing they asked for is now live. And that is really cool.

I understand why people hate JIRA, I really do. But I think I’m such a big proponent of it because we were able to come up with a way for it to benefit the whole team, and actually make their lives easier, not harder. We have a process that can defend itself. And I don’t think you can work on a well-established product without something like that.


This year has been an enormous learning experience for me. I’ve never worked on a product like Postmark before. It’s a product that is basically universally loved, where feedback comes in from people who are passionate about it and can’t imagine their development lives with out it.

As much as it is a dream to work on a product like this, I feel like I had to learn a whole new set of skills to be effective as a product manager in such an environment. I know I still have a long way to go, but I can tell you one thing — I’m excited to learn more in 2017.

Effective product management for remote teams

A few months ago I wrote a post about how we build a product vision and roadmap for Postmark. It’s now almost 6 months later, and I just published a big post on the Postmark blog about how things are going. From roadmap to shipping: effective product management for remote teams is about how we moved from vision to execution, and how we dealt with the many challenges that remote teams bring to the equation. For example, on communication:

As a remote team we have to walk a fine line between working in private and working in public. We see this as a basic sine wave, where balance is extremely important. Work in private too much and you become silo’d and isolated. Work in public too much and it gets distracting for the rest of the team (and you never get time to focus). So we ran with the sine wave metaphor to create a diagram that outlines our ideal approach to private/public working and how we gather feedback.

You can view the post to see this diagram as well as a bunch of other topics:

  • How we made the transition from an exciting grand vision to the daily grind of working on projects and features to make that vision a reality.
  • What tools we decided to use on a day-to-day basis to keep everything running smoothly — and how our use of these tools evolved over time.
  • The challenges and opportunities of being a (mostly) remote team, and how we try to make sure we communicate enough without overdoing it.
  • Some remaining challenges we haven’t quite figured out yet.

Easy features can be very expensive

James Gill has a good overview of How bad features are born:

Most importantly, does this feature deserve to exist? Why are you working on it?

If you’re embarking on a new feature primarily because you’ve seen a competitor release something similar, then you probably haven’t thoroughly considered or even identified the problem you’re trying to solve. If you’re jumping into a new feature because it seems like “it wouldn’t be too hard to do” that’s great, but does it actually deserve to be built right now?

The biggest danger I see is this “it’s easy to implement” argument. A feature might be easy to implement, but that doesn’t make it “cheap”. The problem with implementing even easy features is that they’ll most likely remain in the product forever. That creates the potential for lots of (expensive) maintenance and support.

Also see How Much Does A New Feature Cost?

Effective remote teams over-share

Joe Tullio has some good tips for remote teams in Distributed UX teams: Early lessons learned. This part, in particular, is something I think many teams ignore because it can feel like busywork:

At Google, we have an internal “snippets” tool for posting regular updates on our work, typically at a weekly cadence. Snippets serve to share the latest mock versions, research reports, study plans, hiring updates, and anything else that feels noteworthy.

To be fair, snippets are a diligence task; I’ve been on teams where these updates were neglected for months at a time. However, my far-flung teammates have been instrumental in encouraging the rest of us to share updates, as they benefit greatly from seeing them. We’ve come up with several ways of reminding ourselves to do them, through calendar appointments, shared compilations, and as a last resort, the tried-and-true email nag.

I’ve written about a similar approach we follow in Useful daily standup meetings for remote teams, and I stand by it. The benefits far outweighs the “cost” of spending a few minutes thinking about your day and updating your team about what you’re working on.

Product managers are consensus managers

Des Traynor shines a light on the unglamorous side of the PM role in Q&A: What does a product manager do?

If you look at how actual product managers work in any company there’s a lot more nitty gritty work. There’s a lot of spreadsheets, wireframes. Google Docs, emails, and oh-so-many Slack channels. And they all exist to research, collaborate, dictate, and document consensus on a direction the product is going. But I think if the role was titled “Direction and Consensus Manager” you might not get as many applicants.

Defining the role of Product Designer

Chris Jones posted a really solid overview of The Product Designer Role that’s very much worth your time:

Your next task is to define the product design role within your company. This is an important one to get right. You don’t want to simply recreate an internal version of the agency model. The way that products are created has changed dramatically in recent years and new models for design are a critical part of this.

He goes over what he believes are the 5 core responsibilities of the role:

  1. Product Orientation
  2. Holistic Experience Design
  3. Prototyping
  4. User Testing
  5. Interaction and Visual Design

I can’t help but feel like this is a role we’ll start to see merge with Product Management before long.

Moving beyond Agile

Andy Budd asks, Are we moving towards a post-Agile age?

Perhaps we’re moving towards a post-Agile world? A world that is informed by the spirit of Agile, but has much more flexibility and nuance built in.

This post-Agile world draws upon the best elements of Agile, while ditching the dogma. It also draws upon the best elements of Design Thinking and even — God forbid — the dreaded Waterfall process.

People working in a post-Agile way don’t care which canon an idea comes from, as long as it works. The post-Agile practitioner cherrypicks from the best tools available, rather than sticking with a rigid framework. Post-Agile is less of a philosophy and more of a toolkit that has been built up over years of practice.

This is certainly true for how our team works as well. We took the parts we like about Agile (like autonomous teams, flexible roadmaps, daily standups, small pieces of work), left out the parts we don’t like (like rigid sprints, long backlog grooming meetings), and then mixed in some spicy goodness from other methodologies (like deploying whenever a feature is ready). I’m sure strict Agile works for some teams — particularly in large organizations — but this approach works much better for us. It speeds us up and makes us all much happier human beings.

Product Management is, at its core, a multi-tasking role

Giff Constable writes about The difference between design and product management and makes this good point about the nature of the PM role:

A big difference is where they spend their time. You’ll hear me call design and engineering “deep dive” roles, while PM is a multi-tasking role, which is why it is relatively easier for PMs to assume more of a leadership role. Even though we work in very collaborative ways (“rough draft culture”) at Axial, both design and engineering require getting into a “flow state” on a problem. Design takes a lot of iteration and trial and error to get something right. PMs, on the other hand, are bouncing around a million tasks, from clarifying a user story, to managing communication inside and outside the organization, to doing whatever it takes to un-bottleneck the team, to all the things listed above.

This is one of the things that makes Product Management such a challenging role. It’s not just about switching tasks, it’s about developing the ability to switch focus really quickly as well. There is no time to meander from one task to the next. Once you switch to the next thing you have to be in it right away.

Focus on product instead of technology

Laurent-Pierre Baculard makes some great points in WhatsApp Grew to One Billion Users by Focusing on Product, Not Technology:

Examples such as WhatsApp demonstrate that real-world innovation, in many ways, looks like an assembly line. At one end is a customer pain point or a potential new market. At the other is a product or service that solves the problem or addresses the market in a way nobody has thought of before. In between, people sit down and force themselves to examine the problem from a variety of fresh angles. Sometimes they tap the lab and bring a radical new technology to bear. But much more often they reach for pieces of technology that already exist and assemble them with new (or old) capabilities to produce a solution that turns the pain point into a delighted customer. Think of it as high concept meets whatever is lying around — an unconventional combination.

The problem comes when we reach for technologies that seem “cool” but can’t actually be linked to any real customer problem.

Yes, after a long break I’m giving the blog another shot. Let’s see how it goes…