How Coinbase Ships Product

Brian Armstrong
The Coinbase Blog
Published in
5 min readDec 1, 2015

Coinbase ships a lot of product for a small team. We have 24 engineers, 3 designers, and 3 product managers (in addition to a number of other very talented teams) who help build our buy/sell service (across web and mobile), exchange, developer platform, and merchant tools which serve 2.8M customers in 32 countries.

In this post I’d like to give a peek behind the curtain at how we ship product. We’ve evolved this process over the past 3 years, and I’m sure have a lot more room to improve it as we continue growing.

Our process emphasizes the following:

  • speed of execution — the company that ships good software the fastest wins
  • user studies — it’s important to feel the customer’s pain and better understand product market fit
  • prioritization — there is never enough time to build everything, so we try to ensure we’re building only what matters most (defined as estimated impact on key results over time to build)

Our Product Manager Playbook

This is the process that our product managers (roughly) follow.

Every Week

  • Run a standup meeting on Monday. Give a brief update on how the metrics (key results) are trending. Have everyone on the team say (1) what’s going well (2) what’s not going well (3) what they are doing this week and (4) where they could use help. (Max of 2 items each to keep it short — ideally under 2 minutes per person — we try to minimize time in meetings).
  • Go through the new user experience (NUX) yourself to ensure things are working correctly — if they aren’t, reprioritize the sprint to fix these immediately. It is key to stay in the mindset of a new user more than an already-onboarded customer.
  • Take a moment to celebrate small wins and give public recognition.
A typical Coinbase standup meeting on Mondays.

Every Two Weeks

  • Run a ‘sprint’ — a set of features/bugs that will be completed in that two week period. This helps set a regular cadence to a product team and minimizes sudden changes/requests.
  • Run a product review toward the end of each sprint, where you demo to the founders (or head of product) what the team is working on. This ideally (1) reinforces speed of execution (2) ensures we’re working on what matters most (3) sets the bar for quality and (4) provides an opportunity to coach/teach team members.
  • Hold 1:1s with every team member to give two way feedback. Err on the side of being honest rather than being liked (easier said than done).
  • Obtain a report of top requests from the customer support team. Use this to inform the next sprint. Create a tight loop between customer complaints/requests and time to resolution.
We mostly use JIRA agile for sprints, but each team can choose their own tools.
Create a tight loop with support so top customer issues make it into the next sprint..

Every Month

  • Spend time talking with at least 3 customers one-on-one. Are we solving a problem they have? What would they change if they were us? PMs must have their finger on the pulse of the market, and the best way to do this is to talk to customers.
  • Send out an email with the key results spreadsheet to the whole team, and a list of things that shipped in furtherance of those metrics. Reinforce speed of execution and relentless progress toward the key results.
  • Write a blog post about one or more features that have shipped. It’s important to show the external world how the product is continually improving. (If it is a technical feature, post it to your developer blog to help with recruiting).
The product blog helps customers see continual improvement.

Every Quarter

  • Perform a more in-depth user study. Record a video of a real customer using the product and share it with the whole team. They need to feel the customer’s pain and have this be a constant reminder that normal people don’t use the product like they do. We’ve tried using usertesting.com, fullstory.com, and in person videos for this.
  • Use at least one of your two week sprints exclusively for bug fixing, refactoring, or removing old stuff. If bugs, pagerduty, or speed/performance become an issue, have the whole team focus on this for as many sprints as needed to get things back below the threshold.
  • Hold an off site event and do something fun to help the team bond.
A user study we ran on UserTesting.com.

Every Year

  • Brainstorm 3–10 key results with your team that will move the needle for your product. These should be quantitative/measurable. They should also be ambitious but potentially achievable. Choose one of them as your north star metric which you prioritize above all else — list this one first. This will break ties when a decision needs to be made or there is lack of clarity about what to work on next.
  • Choose an owner on the team for each key result if appropriate.
  • Take some time to think holistically about product market fit. Does the overall direction of the product need to change? Does the product need to be split in two or merged with something else? Repositioned as something else? Usually if your product does 3–4 things, 80% of all usage is in just one category. Can you double down on that one thing and simplifying or eliminate the rest?
Take some time to think big picture about this each year.

Hopefully this gives some insight into how we work. I’m sure we’ll continue to improve it as we go.

If you’re interested in learning more about working at Coinbase, please visit our careers page. You can also email us directly at talent at ourdomain.com.

We’re working toward a future where the world has an open system for money and payments.

--

--

Brian Armstrong
The Coinbase Blog

Co-Founder and CEO at @Coinbase. Increasing economic freedom in the world. Join us: https://www.coinbase.com/careers