To Be Continuous: Product Management with Adam Gross
In episode 47 of To Be Continuous, Edith and Paul are joined by Adam Gross, former CEO of Heroku, who explains why people get into product management and how the role has evolved alongside continuous delivery.
ABOUT THE GUESTS
This episode of To Be Continuous, brought to you by Heavybit. To learn more about Heavybit, visit heavybit.com. While you’re there, check out their library, home to great educational talks from other developer company founders and industry leaders.
Edith Harbaugh: So, what do you like best about continuous delivery?
Adam Gross: My favorite thing about continuous delivery is the community, that there’s so many interesting people working in this space. In terms of tools, in terms of processes, in terms of people implementing it and reinventing product delivery organizations. It’s just a fun and interesting area that attracts a lot of good people.
Edith: Well, you’re certainly somebody who’s reinvented many organizations. Now would be a great time for you to introduce yourself.
Adam: Sure. My name is Adam Gross. A couple notable facts/trivia questions. I had a startup that was one of the first Heavybit companies, it was called Cloudconnect. And most recently, about the past three years, I served as CEO of Heroku which is now part of Salesforce.
Edith: That’s really cool. So you started off as a product manager, how did you get into product management?
Adam: That’s an excellent question.
I think the way that most people get into product management, at least from the startup point of view, which is accidentally and not realizing that they are one.
There are probably a lot of people, and I’m in this category, who are product managers before they knew what product management was. I started my first company a long, long time ago–
Edith: In a galaxy far, far away.
Adam: “Far, far away.” Yes. And we all had ’70s haircuts and there were two Suns. It was an early web analytics company, and it was me and two other people.
I was certainly doing product management then along with others. But truly I don’t know that anybody had ever had a conversation at that point with anybody about, “This is what product management is,” or was. Which is a shame, and I’m sad about that. Because I’ve always been at the intersection of a lot of different fields.
I studied a little bit of computer science, just a tiny bit in school, but I was always more attracted to the problems that crossed boundaries. The business, and the user, and the experience, and the opportunity.
And what I now know is product management. But I didn’t know that in college, I didn’t know that was a discipline until much later. And again, I think that’s probably an experience that a lot of people have.
Paul Biggar: That’s interesting. I think a very classic definition of what a product manager is, is that intersection of UX and business and tech that you just described. Is that, for you, what a product manager is?
Adam: Product management can be a lot of different things. I will use this opportunity to tell a story. Which is the two flavors of product managers that I think there are.
In my experience of building teams and hiring people in general, it’s really important to be explicit about which kind you’re looking for. One of my most basic management philosophies which I owe to a former colleague of mine, Trevor Rubel, is this idea of poets and librarians. And the idea is that basically, people are either a poet or a librarian.
Poets need librarians and librarians need poets, but it’s always important to know which one you are and which one you need, and which one you’re looking for.
A different way of thinking about that is there are people who are content providers, and there are people who are process providers in an organization. Process provider is the person who is going to make the trains run on time. Content provider is the person who is going to entertain the passengers on round. Both are essential.
I use that somewhat tortured story to say, I think product managers fall into one of those two camps. I think there’s always a blend. But in my experience you tend to have people who are a little more process-oriented and who are essential at keeping the organization in sync, in tune. Making sure that there is a holistic notion of what the product is and that all the pieces are in place in order to deliver that is ultimately for good customer experience.
And then there are people who are more content-oriented, which is they maybe have a little bit more of the vision. They’re going to have maybe a little more of an experience orientation. They might be more involved in the actual functionality of a given feature.
Paul: This is a super interesting definition to this poets-versus-librarians thing, because I think it comes down to what you need at various stages of startup. You see a lot of startups that have librarians before they’re in product-market fit, and they never hit product-market fit.
Edith: I disagree. I think sometimes you have a lot of poets wandering off in the wilderness. And they never ship anything.
Paul: I mean yes, I agree with that. But you definitely need a poet if you’re going to have a startup that’s innovative in any way. It feels to me that there has to be a poet on board.
Edith: I think they could be the same person. But I think where I’ve seen early stage the two-person startup fail, is that they’re poets and they never ship. It basically becomes their hobby of, “Let’s keep adding another feature before we’re ready to show it to anybody.”
Paul: Reflecting on my startups, at Circle I was much more poet than librarian. And we didn’t have a librarian until much later on. And then Jim who took over for me as CEO is an excellent librarian, and it was exactly what Circle needed at that stage. But in my new company, Ellen is the librarian and I’m the poet. And that mix is a really good mix. We’ve talked about this a lot, me and her.
Adam: What language do you use to talk about these distinctions?
Paul: This is language I would never use about myself. It’s language that Ellen uses and she says, “I’m the one with the product vision,” and that, “You need someone with the vision.” And that’s absolutely language that makes me feel uncomfortable.
Adam: I agree with that, yeah. It abdicates the other person’s role, and what I think is the person as the visionary wanting that other person’s contribution to be. To firmly delineate those, and use that language.
Edith: You’ve been involved in several startups. Do you feel you are a poet or a librarian, or both?
Adam: I will never admit this, but I’m a poet and only a poet. that’s always going to be my center of gravity. I’ve become better at being a librarian and I’ve become, as good managers should, more mindful of the kinds of skills that compliment me.
But it’s interesting, I’ve become more interested in librarianship as I’ve advanced in my career and as I’ve been responsible for larger organizations. Because the art and act of getting a whole bunch of people to act collectively as a team is just such an interesting one, and is more things they don’t teach you in school.
There aren’t a lot of places where I’ve learned, other than doing, “Gee. How do you do that? And what does this look like successfully?” And you think of the delta between success and failure for so many organizations and so many startups. It’s just that basic, being able to get your act together, and the fidelity and quality of discussion that we have as a community around, “What are good processes and bad processes? How do we make this all work?”
We will go on endlessly about the different ways of storing a JSON document in a non- or semi-relational data store, and the merits of that pro and con. But as a community we’re not as good about having discussions about what kinds of processes and models and org ideas–
Paul: There’s an allergy in a lot of software engineers. They’re allergic to process and anyone who brings it in and suggests it. I don’t think in functional orgs, but we’ve definitely talked about this before on the podcast, about why engineers are often so against this thing.
Edith: I think everybody has a process, it’s just sometimes a shitty undocumented process that nobody likes.
Paul: Because they don’t like the process bringers.
They don’t like librarians to come along and tell them their poems belong in books.
Adam: Yeah. And librarianship, rightfully sometimes, gets a bad rap if it’s done unempathetically. Which, the unique nature of software development and the fact that it’s ultimately a creative act as opposed to a manufacturing one, I think historically has frustrated the introduction of processes into those environments. At the same time, you have the very unique nature of software development is an individual act.
There’s a little bit of the single person myth, hero, that is propagated in our culture and our understanding of what it even means to be a startup. That classic, heroic organizational behavior that at times is even necessary. So it’s understandably confusing.
Edith: Adam, I’d love to hear some of your stories about, you said you were a product manager but without knowing you were. What were some of the things that you started doing that you realized now are product managerial?
Adam: That’s a good question. I think it’s ultimately, and I go back to my first startup, really trying to define features in a way that had notions of completeness and doneness. Very clumsily having discussions around what represented 1.0, when you ship, when you don’t ship. I remember vividly having pretty heated discussions about what was good enough for 1.0.
We subsequently have all kinds of new language that we can use, like MVP that talks about these product development styles. But all of those are fundamentally product management kinds of questions.
Edith: So when you started slipping into this, was it a natural thing? “Oh, I enjoy this,” or was it because nobody else was doing it?
Adam: It’s always where, at least personally, my center of gravity has been. Because ultimately there’s a bunch of technology change and there’s a bunch of interesting problems to solve. And how do those ultimately fuse to create something? What do all those intersection points look like?
Something that’s come up a little bit more as PM, as another branch of this very complicated and amorphous field, is then there’s another element. That we’re just the go-to-market. How those all synthesize into, “Here’s a good idea for a thing that can get some loft.” Those kinds of problems are always the most fascinating for me. And of course just the raw creativity of it.
When you use a beautiful product and the respect you have for its thoughtfulness and how it embodies its physical representation of an elegant solution to a problem. And I think that’s very attractive to people like us.
Edith: I didn’t get a software engineering degree, I got a classical engineering degree. So I like to think of myself as, I like building things. I like building a product.
And even though I don’t code anymore, I’m still building.
Adam: Then this is to confuse our analogies even more, at least for me personally. You get to the stage where what you’re PMing is your org.
Edith: Yeah, well. That was the next thing. I mean, Adam, you have so many great stories. How did you build a great org? How did you build a great product?
Adam: What are some of the really horrific ones, and things that I can remember. There was an interesting thing that happened in the field of PM-ness. It’s just so fascinating.Software development is such a strange and unique art, especially doing it as a team, because all of the core conditions are constantly evolving.
Adam: And if you roughly, clumsily break up the different areas of software product development in two decades, in the ’90s we had pretty traditional what we today consider traditional rigorous waterfall-style modalities. Which themselves, just the core act of taking bits and putting them on a CD and shipping them off to the customer, and the nature of that being your product boundary, injected or required all kinds of physics in the process that rippled through the organization.
So then in the 2000s when we moved to what we would call cloud models today, the nature of the product delivery far outpaced our ability to backfill it with new coherent organizationals and ideas and principles for product development. Which was why if you think back to the modern PM-ness, and really started with probably an Eric Ries and that ’07-’08 timeframe, which is also co-emergent with cloud infrastructure, AWS, stuff like that.
And you’re removing so much of the natural slowness from the system. It’s such an acceleration to not have, “We’ve got to pause long enough at least to rack and stack routers.” Instead it’s just this incredibly fluid, fast environment where you now have ideas about iteration and all these things that didn’t exist before.
I think in the late 2000s there was a revolt against PM. And a lot of people just saying, “I don’t understand what these people do. If we’re not operating on these cycles, we have direct input from our customers because we can see what they’re doing and not doing. Then why do we need these people to go interview customers or be this mechanized ear? These are just wasteful bureaucrats.” And that was a dark time.
Edith: At best, overhead. and at worst, the pointy headed boss.
Adam: Exactly. And then you got this other phenomenon that came after that, which was what I’d say is the early-2010s mode. Where people are like, “OK. We get that building experiences is hard.”
Then we had the rise of the hero PM. And the hero PM was an artifact of consumer technology companies where there was the one PM could– because the PM-to-user ratio was so high for the first time in history, that one PM was representing 10 million users.
Their ability to synthesize product direction or experiences out of that imbued them with this godlike character, and they became idolized.
And if you remember and maybe go back in TechCrunch five, six years and look at the PMs at Twitter or Instagram, that idoled PM thing. That it’s just this special magic skill. Which I’m glad PMs got more respect.
But then it just became, “This is irreproducible, you’re just lucky if you have a magician on staff.” And I think hopefully now we’ve got into a little bit more of a normalized place, but we’re probably missing something that I can’t see now.
Paul: I think that transition that you described in the early 2000s where people revolted against the PMs was almost the democratization of the of the user data. That suddenly engineers could see user data for the first time themselves.
Adam: Which is a great thing. This is a whole separate topic but I’m a huge fan, and this is something that we absolutely implemented at Heroku, was having a few simple shared metrics that everyone in the organization can understand and keep in their head at all times.
As our ability to slice and dice all kinds of user data increases, there’s a natural tendency to want to measure more and report more.
The hard thing ultimately for a PM to do is to measure less and to find the few key things. And I say this because when you do that well, it’s very easy for an engineer to fit that in their head and bake that into their thinking every day. A classic example is just something like activation rate. That means different things, obviously, for different organizations. For Heroku it means, “Have you actually pushed code?”
And by understanding what our activation rate is, understanding how it’s trending, to get an email every day that just has that one number in it or one small set of numbers. It’s really easy for all the engineers to put that in your head. And then as a product manager those engineers start aligning to your goals. Which I think is this new, modern, healthy, symbiotic relationship between PM and eng. I don’t want to say that’s a bad thing, that engineering has so much more involvement. As opposed to just that old blind implementer node.
Paul: I think it’s an artifact of people actually being able to quantify what it was anymore. In the old days, and you’re shipping CDs, do you really know if users are having a bad experience? What does a bad experience even mean?
Whereas now you can measure failure rates, you can measure activation rates, you can measure all these things. you can have numbers and have direct reports to act on as an engineer, which allows the PMs to a certain extent to focus on higher value–
Adam: It’s amazing how much we don’t talk about this. How totally, radically different building software– I’m talking more SaaS versus enterprise software in CDs.
Those practices are as different as aeronautics and medicine. And yet organizations treat them as they’re largely interchangeable. This fallacy that you can do both, or that you can move from one modality to the other. They could not be more different.
Edith: I made the transition and I had a really humbling experience last week where for whatever reason I went home and I looked at my LinkedIn profile and–
Adam: Does that happen a lot?
Edith: That I go home and look at my LinkedIn profile?
Paul: No, that’s Tuesdays. Sitting at home with a glass of wine and my LinkedIn profile.
Adam: How was that experience for you?
Edith: All this stuff that I was extremely proud of from early in my career, I managed this supported platform matrix, I ran a release a year. Everything that I had put on literally–
Adam: Kids today, they’ll never know.
Edith: No, it made me cringe with embarrassment because everything has changed so much. A supported platform matrix, that was a vestige of you cared about what database people were using, what app server, and you had to manage all this.
Paul: I mean, we have it today. We have, “What version of Android are you supporting? Which browsers are you getting?”
Edith: I literally took a hatchet to my LinkedIn profile because all the skills I thought were so great then, I’m like, “These are all obsolete.”
Adam: Yeah, but it’s pride. you fought some old wars. you don’t retire your medals. You wear them proudly.
Edith: I guess I can press undelete.
Edith: But the stuff I was so proud of, I’m like, “That’s not relevant anymore.”
Paul: I remember the first thing I ever saw about SaaS, and it was an old Joel on Software article about how they now host, I think it was FOG bugs. and I think they were writing C++ code. They talked about the ability that when a segfault happened, you could log it and know that it happened.
You could have the log and you could go fix it, maybe even before the engineer got it, or before the user saw it.
And this is about 2000. I read this and it just blew my mind. It was just like, “Wow. This is how software should be built.”
Adam: Yeah. And it’s interesting how different organizations, and for anybody working on their product management career, building an aesthetic for how different organizations view product management and what that job is, is something that’s helpful.
I don’t know what the numbers are now, but I remember learning eight years ago or something that the PM-to-engineer ratio at Gmail was something like 300 to 1. There’s one PM. That’s like, “Well, that’s not–“
Paul: That explains a lot of it, with Gmail.
Adam: That does explain a lot, and it’s not a culture that values PM. And it’s like, “That’s okay. Gmail is what it is and it’s good at what it’s good at, and I use it every day.” Maybe that ratio was changed. But you can get by. You can build products.
Paul: I think Google is a very specific animal with regard to PM. They have their own school of thought on it. I think it differs from almost anyone else in the industry.
Adam: It’s also interesting how UX and PM have become conflated in a way. I’ve always found that a little bit confusing.
Edith: I think of them as very different disciplines. But I think of the designer as somebody who is responsible for literally the experience Like, “What do people see when they log in?” I think the PM is responsible for the overall–
Adam: It’s made it hard for people to understand the PM role. Because all of a sudden you factor out this design function, which is appropriate obviously. But it’s like, if these people are designing screens and are responsible for the experience, then you run the risk of PM being back to–
Paul: Very often you’ll ask a designer what their what their role is, and they describe it very much as a PM role. Maybe not “the voice of the user” but they’re “the person who understands the experience and designs the experience”. And it’s like, that’s a PM role. How do you decide, how do you split up those responsibilities?
Edith: You said before that you saw that the PM’s role had totally migrated rather than diverge. How do you think it’s changed?
Adam: Yeah. I hope that what’s happened is that PMs can be part of relatively small teams that have a lot of autonomy.
One positive effect of all these core technology changes and the increased fluidity of things like cloud infrastructure is it makes it easier for there to be more heterogeneity in architectures and in underlying technologies.
And that in turn gives a team and their PM the opportunity to employ more and different things in order to come up with whatever solution they’re coming up with. So random example is, five years ago, not that long ago in the grand scheme of things. If you’re working on some, pick your favorite SaaS or developer application, you probably had to use a relational data store or maybe an Mongo or whatever.
But your core data primitives were probably set. The idea that a development team of five, 10 people could introduce new data primitives into the solution was probably going to introduce a level of operational risk or complexity that would be prohibitive for the organization. And so you had a much more constrained technology environment.
Today my hope and my experience, certainly at places like Heroku, was that a team can have much more autonomy in what they’re able to effectively vendor into their solutions. Because they can utilize all these new cloud services that companies like ours are making. And as a result you get a PM, and an eng team, but a PM in their own function, with much more autonomy and ultimately creativity and impact than you might have found previously.
The downside to that heterogeneity is that if you have more decision-making and autonomy happening at a team level, not a good thing. It can be harder for the PM to have repeatable processes that they’re inheriting from the organization that helps make them successful.
I found this cuts both ways. That you can have a PM who in some ways represents the local CEO of a business, which is a great and empowering thing. Except when they have to reinvent a whole bunch of non-core functions and processes that are just heterogeneous between the teams, that because you have a very local team environment you haven’t created standardization from.
So there is a balance in the modern technology milieu, between how youultimately construct these teams and set them up to be successful.
Edith: What were the ratios that you had when you first started out of PMs to eng, and where did you end up? And how did you try to ensure continuity between the different teams at your prior jobs?
Adam: That’s a good question. I started Heroku in late 2013 and we could go on a whole branch about how developer products are special cases, because it’s the one case where developers are their own customers. And so that further complicates what it means to create a PM culture in an organization like that.
I think in the best possible sense of that, Heroku suffered from that. That our developers were so good at creating products for developers that we had never built a strong PM culture. That’s one of the things I think we were able to do well, and I now think it’s a great place to be a PM and we have a lot of amazing PMs who’ve been hugely impactful there.
But it was a process of helping the organization understand what that role is. And we had to untangle a lot of stuff. Like, “What’s the PM’s role in architecture decisions?” And some of these things can have a pretty meaningful impact on user experience or capabilities.
But at the same time, a PM isn’t an architect, and that’s a failure mode. So how do you avoid that, and how do you create ultimately a repeatable model for what the PM can be in a function like that?
Edith: How did you untangle that? I certainly was on the other side of it. Some people expected a PM to basically be at the level where they were doing object diagrams. And I thought that was a huge mistake. And other PMs were there and they were like, “I don’t know what the product does. I just show up for work every day.”
Adam: One of the things that I instituted follows both my style and it’s something that I would I would do again, is to have the PM lean on communication skills. the PM’s job at its most bare is to represent the North Star of the product, and be able to characterize where the product is on that journey at any time. And be able to articulate that clearly in a group setting, where this thing is.
I’ll pick a random product that we worked on. Maybe Apache Kafka on Heroku, or Heroku Connect, a product I was intimately involved in.
If the PM can’t communicate clearly where this product is going, including the uncertainties, then the likelihood that that team knows where it’s going and that this thing even has a reasonable direction versus just circling around? That’s the ultimate test.
That ability to be able to think about the North Star, to be able to think about the business problems that you’re solving and reasonably be able to connect that to some prioritization of things that you’re working on, that for me is the ultimate test.
Edith: I have a question. Paul, I feel like I’m so interested in product management because I started off as an engineer and then I was a product manager. So it’s something I have a lot of affinity for.
Paul: Yeah. My own path has not been product manager except accidentally. And it’s interesting to hear when people have actual ideas of how it works, rather than me and the many people who just end up in that role without any idea of how we got there or how it is done.
Adam: And I’m a big believer in the idea of whole product. that’s the responsibility of the product manager. it’s the ultimate success of customers using this thing.
Edith: And that’s why it’s not just a designer.
Adam: Exactly. And whatever that entails. At Heroku at least, PMs wrote a lot of documentation. One could argue how scalable that is, but it requires a degree of user empathy. That’s pretty deep. And at the end of the day, the PM is the user’s advocate, the customer advocate inside of the organization.
And that’s their job. They are the person who is the proxy for all the people who are going to use this thing every day, who needs to make sure the, “Why does it work this way?” can always be reasonably answered.
Paul: One of the issues that I always have with designers PM or engineers PM, and you get this a lot in open source, is that fundamentally the designers as PM or engineers PM. The job that they like to do is they like to code, or they like to design.
And when it comes down to ensuring for the accountability for that user empathy, It’s hard to bring that in when you think of your job as being fundamentally different to that.
Adam: I’ll say something maybe a little more controversial. Because I know that Edith likes it when I get a little more controversial. In a way what PMs are, are empathy providers. And if you look at open source projects they rarely elevate themselves to products. Certainly rarely beyond the immediate and passionate interests of the most active participants because they don’t require any empathy in their creation.
And I don’t mean that they’re not thoughtfully designed. I mean, true empathy in the sense of solving a problem in a way that entirely puts yourself in somebody else’s shoes, rather than just being able to think creatively about a problem you have that you’re solving in a useful way.
This can be especially challenging in developer facing companies because we all now naturally borrow from and come from open source communities, where again that PM role can be so frustrating or confusing because there aren’t PMs in open source culture.
Paul: Which is a mistake.
Adam: It probably is. There are things that are just intrinsic to the nature of open source projects that separate themselves from the kinds of problems they’re going to be able to solve, that maybe ultimately doesn’t make it appropriate. But an organization that’s building software, as opposed to an open source community, are two very different things with very different missions and very different purposes.
It’s that ability to solve problems beyond problems that you intrinsically understand. That is where a PM is so urgently required.
And I say this with some passion because I think we’ve all seen organizations fall short in their ambition because they are incapable of working successfully on problems other than the ones that they themselves experience. And that is a terribly disappointing state for an organization to be in, and frankly, a very egocentric place for an organization to be in.
Paul: Very many of the open source projects out there are almost diametrically designed in the exact opposite direction from that. Because there is this expectation that if you’re going to want to change, you’re going to have to come up with the code for it.
So rather than having an individual who learns about all the needs that their users have, and forms it into some road map documentation or whatever, it’s like, whoever arrives with the pull request has as an opportunity to go in that direction or to not. But that’s the only opportunity you have.
Adam: And this is where, again, I offer no critique of any open source project for the way it conducts itself. I just say that the intentions of an open source project are distinct enough that you should be very mindful when applying those to a normal and commercial software venture, which if you are charging money or have taken money you are.
And I’ll take a cheap shot at the worst failure mode of this which is this fantasy of holacracy, where in the world we got the idea that this self organization? And the reason why it’s disappointing is because it’s that egocentricity. It’s this idea that I can somehow understand all of the problems completely in a way that I don’t need to trust that somebody else might have some ideas or opinions about how this thing might be able to be built.
I think at the end of the day, all software development processes are trust management mechanisms. It’s another way of looking at it. And I’m a big believer that to have an effective software development process you need to have a high trust environment. Because you can’t have good teams without high trust. holacracy is a mode of operating that says, “Trust no one.”
Paul: I would’ve thought the opposite, personally.
Adam: The assumption is no trust.
Edith: I totally agree with you on the first part. I think the best teams are the ones where you have a degree of trust. But I thought the idea of holacracy is that you trust people to self-organize.
Adam: I look at it differently. I think it’s that, because you don’t trust anybody, you can’t be compelled to do anything. There is no manager that will tell you what to do because managers are untrustworthy. And so because nobody is trustworthy, nobody can be coerced into doing anything. I can only do what I am personally compelled to do.
Edith: Or persuaded.
Adam: Or persuaded to do. Because my default position is, “I don’t trust you. And so I will only do what I agree actively and explicitly,” as opposed to allowing a broader governance of trust that says, “We’re all on the same team, and we’re going to play b