Coleman McCormick

Archive of posts with tag 'Product Management'

January 23, 2024 • #

What's the unit of impact? →

Ryan Singer calls out the different flavors of “impact”, and the need to be able to articulate the purpose for doing something:

✦
✦

Notes on Operating Well

June 27, 2022 • #

Sam Gerstenzang wrote an excellent piece a couple weeks ago with operating lessons for growing companies, driven by his learnings from the product team at Stripe. Personally, I’ve got a decade or so of experience as an “operator” at a “startup” (two words I wouldn’t have used to describe my job during most of that time). Since 2011 I’ve led the product team at Fulcrum, a very small team until the last few years, and still only in the medium size range. So my learnings on what “good operating” looks like are based mostly on this type of experience, not necessarily how to lead a massive product team at a 10,000 person company. I think a surprising number of the desirable characteristics translate well, though. Many more than BigCo operator types would have you believe.

Drafting tools

Overall this list that Sam put together is especially great for teams that are small, early, experimental, or trying to move fast building and validating products. There are a few tips in here that are pretty contrarian (unfortunately so, since they shouldn’t be contrarian at all) to most of what you’ll read in the literature on lean, agile, startuppy teams. But I like that many of these still apply to a company like Stripe that’s in the few-thousands headcount range now. There isn’t that stark a difference in desirable characteristics between small and large teams — or at least there doesn’t need to be.

On the desire to enforce consistency:

Consistency is hard to argue against – consistency reinforces brand and creates better ease of use – but the costs are massive. Consistency just feels good to our system centric product/engineering/design brains. But it creates a huge coordination cost and prohibits local experimentation – everything has to be run against a single standard that multiplies in communication complexity as the organization gets larger. I’d try to ask “if we aim for consistency here, what are the costs, and is it worth it?” I think a more successful way to launch new products is to ignore consistency, and add it back in later once the project is successful. It will be painful, but less painful than risking success.

I’d put this in the same category as feeling need to “set yourself up to scale”. When a team lead is arguing to do something in a particular way that conforms with a specific process or procedure you want to reinforce through the company, it’s an easy thing to argue for. But too often it ignores the trade-offs in coordination overhead it’ll take to achieve. Then the value of the consistency ends up suspect anyway. In my experience, coordination cost is a brutal destroyer of momentum in growing companies. Yes, some amount of it is absolutely necessary to keep the ship floating, but you have to avoid saddling yourself with coordination burdens you don’t need (and won’t benefit from anyway). Apple or Airbnb might feel the need to tightly coordinate consistency, but you aren’t them. Don’t encumber yourself with their problems when you don’t have to.

Enforcement of consistency — whether in in design, org charts, processes, output — has a cost, sometimes a high cost. So it’s not always worth the trade-off you have to make in speed or shots-on-goal. With a growing company, the number of times you can iterate and close feedback loops is the coin of the realm. Certain things may be so important to the culture you’re building that the trade-off is worth it, but be judicious about this if you want to maintain velocity.

On focus:

People think focus is about the thing you’re focused on. But it’s actually about putting aside the big shiny, exciting things you could be working on. The foundation of focus is being clear upfront about what matters—but the hard work is saying no along the way to the things that feel like they might matter.

True focus is one of the hardest parts once your team gets some traction, success, and revenue. It’s actually easier in the earlier days when the sense of desperation is more palpable (I used to say we were pretty focused early on because it was the only way to get anything made at all). But once there’s some money coming in, users using your product, and customers are growing, you have time and resources you didn’t have before that you can choose to allocate as you wish. But the thing is, the challenge ahead is still enormous, and the things you’ve yet to build are going to get even more intricate, complex, and expensive.

It’s simple to pay lip service to staying focused, and to write OKRs for specific things. But somehow little things start to creep in. Things that seem urgent pop up, especially dangerous if they’re “quick wins”. You only have to let a few good-but-not-that-important ideas float around and create feel-good brainstorming sessions, and before you know it, you’ve burned days on stuff that isn’t the most important thing. There’s power in taking an ax to your backlog or your kanban board of ideas explicitly. Delete all the stuff you aren’t gonna do, or at least ship it off to Storage B and get to work.

On product-market fit and small teams:

Start with a small team, especially when navigating product market fit. Larger teams create communication overhead. But more importantly they force definition = you have to divide up the work and make it clear who is responsible for what. You’re writing out project plans and architecture diagrams before you even should know what you’re building. So start small and keep it loose until you have increased clarity and are bursting at the seams with work.

To restate what I said above, it’s all about feedback loops. How many at-bats can you get? How many experiments can you run? Seeking product-market fit is a messy, failure-ridden process that requires a ton of persistence to navigate. But speed is one of your best friends when it comes to maintaining the determination to unlock the job to be done and find just enough product fit that you get the signals needed to inform the next step. Therefore, small, surgical teams are more likely to successfully run this gauntlet than big ones. All of the coordination cost on top of a big, cross-functional group will drain the team, and greatly reduce the number of plate appearances you get. If you have fewer points of feedback from your user, by definition you’ll be less likely to take a smart second or third step.

The responsibility point is also a sharp one — big teams diffuse the responsibility so thinly that team members feel no ownership over the outcomes. And it might be my cynicism poking through, but on occasion advocates for teams to be bigger, broader, and more cross-functional are really on the hunt for a crutch to avoid ownership. As the aphorism goes, “a dog with two owners dies of hunger.” Small teams have stronger bonds to the problem and greater commitment to finding solutions.

Overall, I think his most important takeaway is the value of trust systems:

Build trust systems. The other way is to create systems that create trust and distributed ownership – generally organized under some sort of “business lead” that multiple functions report to. It’s easier to scale. You’ll move much more quickly. A higher level of ownership will create better job satisfaction. But you won’t have a consistent level of quality by function, and you’ll need to hire larger numbers of good people.

A company is nothing but a network of relationships between people on a mission to create something. If those connections between people aren’t founded in trust and a shared understanding of goals and objectives, the cost of coordination and control skyrockets. Teams low in trust require enormous investment in coordination — endless status update meetings, check-ins, reviews, et al1. If you can create strong trust-centric operating principles, you can move so much faster than your competition that it’s like having a superpower. The larger teams grow, of course, the more discipline is required to reinforce foundations of trust, but also the more important those systems become. A large low-trust team is incredibly slower than a small one. Coordination costs compound exponentially.

  1. Don’t take this to mean I’m anti-meeting! I’ve very pro-meeting. The problem is that ineffective ones are pervasive. 

✦
✦

Product is Hard

April 5, 2019 • #

I linked a couple weeks ago to a piece from Marty Cagan. That led me to this talk that covers a lot of his thoughts on approaching product issues. Wide ranging and thought provoking stuff for product managers.

✦
✦

Entering Product Development: Geodexy

March 27, 2019 • #

I started with the first post in this series back in January, describing my own entrance into product development and management.

When I joined the company we were in the very early stages of building a data collection tool, primarily for internal use to improve speed and efficiency on data project work. That product was called Geodexy, and the model was similar to Fulcrum in concept, but in execution and tech stack, everything was completely different. A few years back, Tony wrote up a retrospective post detailing out the history of what led us down the path we took, and how Geodexy came to be:

After this experience, I realized there was a niche to carve out for Spatial Networks but I’d need to invest whatever meager profits the company made into a capability to allow us to provide high fidelity data from the field, with very high quality, extremely fast and at a very low cost (to the company). I needed to be able to scale up or down instantly, given the volatility in the project services space, and I needed to be able to deploy the tools globally, on-demand, on available mobile platforms, remotely and without traditional limitations of software CDs.

Tony’s post was an excellent look back at the business origin of the product — the “why” we decided to do it piece. What I wanted to cover here was more on the product technology end of things, and our go-to-market strategy (where you could call it that). Prior to my joining, the team had put together a rough go-to-market plan trying to guesstimate TAM, market fit, customer need, and price points. Of course without real market feedback (as in, will someone actually buy what you’ve built, versus say they would buy it one day), it’s hard to truly gauge the success potential.

Geodexy

Back then, modern web frameworks in use today were around, but there were very few and not yet mature, like Rails and it’s peers. It’s astonishing to think back on the tech stack we were using in the first iteration of Geodexy, circa 2008. That first version was built on a combination of Flex, Flash, MySQL, and Windows Mobile1. It all worked, but was cumbersome to iterate on even back then. This was not even that long ago, and back then that was a reasonable suite of tooling; now it looks antiquated, and Flex was abandoned and donated to Apache Foundation a long time ago. We had success with that product version for our internal efforts; it powered dozens of data collection projects in 10+ countries around the world, allowing us to deliver higher-quality data than we could before. The mobile application (which was the key to the entire product achieving its goals) worked, but still lacked the native integration of richer data sources — primarily for photos and GPS data. The former could be done with some devices that had native cameras, but the built-in sensors were too low quality on most devices. The latter almost always required an external Bluetooth GPS device to integrate the location data. It was all still an upgrade from pen, paper, and data transcription, but not free from friction on the ground at the point of data collection. Being burdened by technology friction while roaming the countryside collecting data doesn’t make for the smoothest user experience or prevent problems. We still needed to come up with a better way to make it happen, for ourselves and absolutely before we went to market touting the workflow advantages to other customers.

Geodexy Windows Mobile

In mid-2009 we spun up an effort to reset on more modern technology we could build from, learning from our first mistakes and able to short-circuit a lot of the prior experimentation. The new stack was Rails, MongoDB, and PostgreSQL, which looking back from 10 years on sounds like a logical stack to use even today, depending on the product needs. Much of what we used back then still sits at the core of Fulcrum today.

What we never got to with the ultimate version of Geodexy was a modern mobile client for the data collection piece. That was still the early days of the App Store, and I don’t recall how mature the Android Market (predecessor to Google Play) was back then, but we didn’t have the resources to start of with 2 mobile clients anyway. We actually had a functioning Blackberry app first, which tells you how different the mobile platform landscape looked a decade ago2.

Geodexy’s mobile app for iOS was, on the other hand, an excellent window into the potential iOS development unlocked for us as a platform going forward. In a couple of months one of our developers that knew his way around C++ learned some Objective-C and put together a version that fully worked — offline support for data collection, automatic GPS integration, photos, the whole nine yards of the core toolset we always wanted. The new wave of platform with a REST API, online form designer, and iOS app allowed us to up our game on Foresight data collection efforts in a way that we knew would have legs if we could productize it right.

We didn’t get much further along with the Geodexy platform as it was before we refocused our SaaS efforts around a new product concept that’d tie all of the technology stack we’d built around a single, albeit large, market: the property inspection business. That’s what led us to launch allinspections, which I’ll continue the story on later.

In an odd way, it’s pleasing to think back on the challenges (or things we considered challenges) at the time and think about how they contrast with today. We focused so much attention on things that, in the long run, aren’t terribly important to the lifeblood of a business idea (tech stack and implementation), and not enough on the things worth thinking about early on (market analysis, pricing, early customer development). Part of that I think stems from our indexing on internal project support first, but also from inexperience with go-to-market in SaaS. The learnings ended up being invaluable for future product efforts, and still help to inform decision making today.

  1. As painful as this sounds we actually had a decent tool built on WM. But the usability of it was terrible, which if you can recall the time period was par for the course for mobile applications of all stripes. 

  2. That was a decade ago. Man. 

✦

Starting in Product Management

January 29, 2019 • #

This is a brief series for those interested in getting into product management, in four parts. This first post is about how I got into this line of work and the beliefs I’ve formed over the years on the discipline. Enjoy!

I never set out of college to get into product development. I was a geography guy with a penchant for maps and wanted to learn how to make them. I bounced from an engineering major over to geography early in school because I was passionate about it, with no clue what the ultimate career destination might look like. After some time with the university IT department, managing servers, computers, and AV equipment, I joined up with a civil engineering firm and worked there for a few years.

I started out with Spatial Networks to work on building a GIS data platform. We had terabytes of GIS datasets, geotagged photos, and video content that needed organization, enrichment, hosting, and staging for our analysis work. At the beginning it was 75% GIS / data management, and 25% systems engineering / devops. Not long after getting integrated with the team, though, it became clear that our engineering group needed domain knowledge to steer the development of our software platform in the right direction. I took my technical background, mapping experience, and past work in civil engineering and other GIS projects and started to help educate our team on end-user expectations. I didn’t realize it at the time, but this was my entrance into product management.

Product management requires a unique skillset to do it well; It touches many areas of a business and requires a diverse range of knowledge to do it right (and a lot of trial and error to calibrate this balance over time). A great product manager lives at the intersection of several disciplines:

  • Project management
  • Problem identification
  • Problem solving
  • Engineering
  • Communications (maybe the most critical of all)
  • Human engagement
  • Writing
  • Empathy

And I’m sure there are more you could include there. I didn’t get into this discipline intentionally, and certainly have no formal education in it. Everything I know about product I’ve learned by doing and sometimes failing. But it’s one of the most rewarding professions around. It’s excellent for someone with “build stuff” tendencies like me, but also diverse interests in the business-running aspects, marketing, and team collaboration to work in a space where flexing all of those muscles is an advantage.

In the next post I’ll talk about our first real product, Geodexy — how we approached it, what we built, and how that all shook out.

✦

Weekend Reading: Railway Logos, Meditation, and the Next Feature Fallacy

December 8, 2018 • #

🔩 The Next Feature Fallacy

The vast majority of features won’t bend the curve. These metrics are terrible, and the Next Feature Fallacy strikes because it’s easy to build new features that don’t target the important parts.

This certainly rings true for me from experience over the years. It turns out that a single feature itself is far from the main problem halting people part way into on-boarding with a product. This falls into the category of focusing on what we know how to do already, rather than what’s important to do. What’s important isn’t necessarily something you’ll know how to approach without hard research and effort.

🧘🏻‍♂️ Why I’m Into Meditation

I’ve been giving Headspace a try to get into a meditation routine over the last couple months. So many people I respect speak highly of building a meditation practice, and it’s pretty easy to do. Focusing for 10 minutes on a single mundane thing (your breathing) is shockingly hard to do. About 40 or 50 10-minute sessions in, I’m finally getting more comfortable with it. I always feel reenergized after.

🚂 Reagan Ray’s Railway Logos

These are all fantastic. I even see my favorite hat represented in there.

✦

Right-sizing and Product Scoping

October 31, 2018 • #

In product teams you’re continually faced with the challenge of scoping. When you build something directly for a customer, for a fee (consulting), the scoping process is explicit and has built-in constraints — customer expectations, funding, timelines, deliverables. Even in that scenario, agreeing on a firm scope for an effort isn’t simple, but it’s even harder when working in a product company. The same constraints still exist, but in a more nebulous, undefined form. Constraints aren’t imposed and enforced externally by a single client dangling the paycheck. The demands are dispersed amongst thousands of users with sometimes-competing desires, paying varying amounts for your product. So it’s on you to define hard edges based on your own goals and objectives.

Scoping a project

When you set down the idea for a feature’s implementation, you always want your new feature to be cooler or more powerful than you’re able to commit to. With even a touch of investigation, you discover that it’ll take many cycles to get to get all the way there. So you have to forgo achieving your complete vision and put up some boundaries at an interim milestone along the path. This is one of the hardest parts of product design — you have to knowingly ship something “incomplete” according to your vision, but that’s directionally aligned and a solid waypoint on the journey.

If you’re setting your own objectives, you have no one telling you exactly what to ship, how much to spend, and when to be done. Not to downplay the complexities involved in consulting, but the incentives and constraints are generally much clearer; you’re unlikely to commit massive resources to a hazy and overzealous goal, and the customer isn’t likely to pay you what it’d take to commit — so you compromise.

When it’s your own product, you still have end customers, but their individual wishes and needs are distributed enough that it’s on you to synthesize what customers want into a clear vision you can break down into parts, and to enforce your own boundaries. No one is forcing any particular constraint; you could spend months crafting and polishing the most perfect version of the feature until the final day you get it out there. But good products come about as a consequence of savvy incorporation of market feedback into the development process. The best model uses increments that are each valuable enough to earn committed investment and experimentation from customers, which gives you the feedback you need to validate what you’ve made and make the right course-corrections along the path to the vision. As clear as your vision might be, it’s still not proven until it intersects with reality. Like the old adage says: “No plan survives first contact with the enemy”. Or the customer, as it were. Real-world feedback is what separates a vision from a hallucination.

Yoy need to create a trail toward your vision with release points along the way that each constitute something “complete” enough to use and validate. And that’s where I think the core problem lives in product development: the balance of between shipping enough to consider a feature useful but soon enough that you can start measuring the impacts that will inform your next waypoint. Once you’ve established your vision for what you want to achieve, you then carve away at it until you have essential stages that work as milestones. In the best cases, each milestone can be a defensible stopping point for a feature. You could ship v1, never revisit the idea, and still have something whole and useful. The scoping process is a painful, but critical step to getting a useful enough product feature soon enough to close the feedback loop and begin iterating. I find the Shape Up idea of “appetites” a useful metaphor for selecting milestones:

Whether we’re chomping at the bit or reluctant to dive in, it helps to explicitly define how much of our time and attention the subject deserves. Is this something worth a quick fix if we can manage? Is it a big idea worth an entire cycle? Would we redesign what we already have to accommodate it? Will we only consider it if we can implement it as a minor tweak?

It’s tempting to make the scoping and appetite-setting process a group exercise, to fold in product management, design, engineering, ops, sometimes even marketing. A wider aperture of company buy-in makes sense at a macro vision level, but once you get down to the ground defining specifics, you need fewer people involved to be able to drill in on what’s most important. If possible, it’s best to involve only those directly responsible for defining and building the thing in question. Too many heads involved generates too much free-form “ideation” and not enough of the brass-tacks horse trading required to make hard tradeoffs necessary.

I have a two-part theory on scoping:

  1. Projects scoped by large committees tend to get larger — the average contributor knows it’s unlikely the next idea tossed into the hat will fall in their lap to execute; lots of people just get to be the “idea person”; incentives to both signal “big thinking” and define concrete goals are competing with each other
  2. Projects scoped by individuals or small groups tend to get smaller — because you’re on the hook to build everything, all of the skin in the game is yours; incentives are aligned on making things tangible and reachable

Landing somewhere in between is ideal for product scoping. Removing things from the vision (or deferring) requires honesty, commitment, and focus, which are all much easier to guarantee in small groups.

We’re often too idealistic with scoping and think we can “squeeze in that One More Thing”. Stretch goals are fine and can be motivating, but too far-fetched of an objective point can end up setting the wrong expectations across the company. If you’re not more aggressive with the hatchet than you think you need to be in the early stages of feature planning, the whole team (and your customer) will be worse off.

✦

Economics & Product Management

October 10, 2018 • #

A continuous challenge in product development (perhaps the ultimate challenge) is the balancing of many wants and needs with an inability to have everything. You never have the resources to build everything you want into your product — be it labor, capital, or time.

All this year I’ve been studying economics, some foundational resources, different philosophies, and the history of economic theories. I think what attracts me to the subject is how its fundamentals can be applied to so many other areas. I just finished Thomas Sowell’s Basic Economics a few weeks ago, which is a great plain-English primer on many foundational principles. At the core, economics seeks to understand how value is created and exchanged — how forces within systems interplay with one another. Sowell defines economics as the “study of the use of scarce resource which have alternative uses.”

Managing resources to build something is a great example of scarcity at work. Trade-offs are a fact of life, and the entire job of product management is balancing the right trade-offs to achieve the desired goal. It may seem obvious, but it’s amazing how often people lose the plot and don’t respect the reality or limitations. The project management triangle also comes to mind here. I find frequent reminders of these constraints helpful to ground my efforts in a frame of achievable reality, while maintaining the ability to set and meet expectations.

✦

A Product Origin Story

September 11, 2018 • #

Fulcrum, our SaaS product for field data collection, is coming up on its 7th birthday this year. We’ve come a long way: from a bootstrapped, barely-functional system at launch in 2011 to a platform with over 1,800 customers, healthy revenue, and a growing team expanding it to ever larger clients around the world. I thought I’d step back and recall its origins from a product management perspective.

We created Fulcrum to address a need we had in our business, and quickly realized its application to dozens of other markets with a slightly different color of the same issue: getting accurate field reporting from a deskless, mobile workforce back to a centralized hub for reporting and analysis. While we knew it wasn’t a brand new invention to create a data collection platform, we knew we could bring a novel solution combining our strengths, and that other existing tools on the market had fundamental holes we saw as essential to our own business. We had a few core ideas, all of which combined would give us a unique and powerful foundation we didn’t see elsewhere:

  1. Use a mobile-first design approach — Too many products at the time still considered their mobile offerings afterthoughts (if they existed at all).
  2. Make disconnected, offline use seamless to a mobile user — They shouldn’t have to fiddle. Way too many products in 2011 (and many still today) took the simpler engineering approach of building for always-connected environments. (requires #1)
  3. Put location data at the core — Everything geolocated. (requires #1)
  4. Enable business analysis with spatial relationships — Even though we’re geographers, most people don’t see the world through a geo lens, but should. (requires #3)
  5. Make it cloud-centric — In 2011 desktop software was well on the way out, so we wanted an platform we could cloud host with APIs for everything. Creating from building block primitives let us horizontally scale on the infrastructure.

Regardless of the addressable market for this potential solution, we planned to invest and build it anyway. At the beginning, it was critical enough to our own business workflow to spend the money to improve our data products, delivery timelines, and team efficiency. But when looking outward to others, we had a simple hypothesis: if we feel these gaps are worth closing for ourselves, the fusion of these ideas will create a new way of connecting the field to the office seamlessly, while enhancing the strengths of each working context. Markets like utilities, construction, environmental services, oil and gas, and mining all suffer from a similar body of logistical and information management challenges we did.

Fulcrum wasn’t our first foray into software development, or even our first attempt to create our own toolset for mobile mapping. Previously we’d built a couple of applications: one never went to market, was completely internal-only, and one we did bring to market for a targeted industry (building and home inspections). Both petered out, but we took away revelations about how to do it better and apply what we’d done to a wider market. In early 2011 we went back to the whiteboard and conceptualized how to take what we’d learned the previous years and build something new, with the foundational approach above as our guidebook.

We started building in early spring, and launched in September 2011. It was free accounts only, didn’t have multi-user support, there was only a simple iOS client and no web UI for data management — suffice it to say it was early. But in my view this was essential to getting where we are today. We took our infant product to FOSS4G 2011 to show what we were working on to the early adopter crowd. Even with such an immature system we got great feedback. This was the beginning of learning a core competency you need to make good products, what I’d call “idea fusion”: the ability to aggregate feedback from users (external) and combine with your own ideas (internal) to create something unified and coherent. A product can’t become great without doing these things in concert.

I think it’s natural for creators to favor one path over the other — either falling into the trap of only building specifically what customers ask for, or creating based solely on their own vision in a vacuum with little guidance from customers on what pains actually look like. The key I’ve learned is to find a pleasant balance between the two. Unless you have razor sharp predictive capabilities and total knowledge of customer problems, you end up chasing ghosts without course correction based on iterative user feedback. Mapping your vision to reality is challenging to do, and it assumes your vision is perfectly clear.

On the other hand, waiting at the beck and call of your user to dictate exactly what to build works well in the early days when you’re looking for traction, but without an opinion about how the world should be, you likely won’t do anything revolutionary. Most customers view a problem with a narrow array of options to fix it, not because they’re uninventive, but because designing tools isn’t their mission or expertise. They’re on a path to solve a very specific problem, and the imagination space of how to make their life better is viewed through the lens of how they currently do it. Like the quote (maybe apocryphally) attributed to Henry Ford: “If I’d asked customers what they wanted, they would’ve asked for a faster horse.” In order to invent the car, you have to envision a new product completely unlike the one your customer is even asking for, sometimes even requiring other industry to build up around you at the same time. When automobiles first hit the road, an entire network of supporting infrastructure existed around draft animals, not machines.

We’ve tried to hold true to this philosophy of balance over the years as Fulcrum has matured. As our team grows, the challenge of reconciling requests from paying customers and our own vision for the future of work gets much harder. What constitutes a “big idea” gets even bigger, and the compulsion to treat near term customer pains becomes ever more attractive (because, if you’re doing things right, you have more of them, holding larger checks).

When I look back to the early ‘10s at the genesis of Fulcrum, it’s amazing to think about how far we’ve carried it, and how evolved the product is today. But while Fulcrum has advanced leaps and bounds, it also aligns remarkably closely with our original concept and hypotheses. Our mantra about the problem we’re solving has matured over 7 years, but hasn’t fundamentally changed in its roots.

✦
✦