Product Development: I. Principles

Every product engineering team needs to answer the following questions to ship:

  1. What are we building
  2. Why are we building it
  3. Who will build it
  4. When will we build it by
  5. How will we build it

We are all passionate about what we build and have strong opinions. It is easy to confuse the role of product and engineering in answering all these questions.

Transparency around where the buck stops for each question helps build high-impact teams.

I have learned that the following questions are best answered by product:

  1. What are we building
  2. Why are building it

Product should input from customers, go-to-market and engineering before making tradeoff decisions. We want to do what is best for our customers without compromising the longevity of the Company. I expect all engineers to be plugged into customer conversations and be product-centric. This also means I want to build teams of the most customers-obsessed people.

Engineering is best poised to answer the following questions:

  1. Who will build it
  2. How will we built it

It is for the engineering to decide who works on a feature. Engineering decides how many engineering hours to allocate on a feature/bug while clarifying trade-offs to product.

Engineering should take input from product and design for everything customer facing eg API spec, SDK interfaces, UI/UX. But, Engineering should always drive and define how the internals will work. It is their baby and they know the guts best. They have most skin in game here.

The last question of “When”, is best answered through collaboration. The product and engineering leads should collaborate to identify scope, priorities and bandwidth. They should develop clarity for the team in the form right order of operations aka roadmap.

The one question that has is not asked and answered above is: “How and who ensure product quality?”

The product lead defines acceptable product quality bar via PRD/Prototypes. The engineering lead ensures the delivered product meets this bar. Role of PRD in the age AI is discussed in another post.

Generally, product development works falls in one of three buckets:

  1. Enhancements (new features or functionality)
  2. Bug fixes
  3. New product development

The first two are well understood, but the third is where you need to think differently. With generative AI-based product strategies, most new products/features will have an AI-native component, implying there will be technical unknowns. The product and engineering leaders should works closely to develop playgrounds that allow for experimentation and learning before the productization happens. Playgrounds are scrappy, fast to iterate and cheap to build. They are not customer-facing and mostly internal tools. Playgrounds are a great way to get human-in-the-loop feedback and built bespoke evaluation datasets.

I am thankful to the team at Segment esp Gerhard E. and Kevin N. who got me started on this journey and the teams at Burrata and Stripe who helped me refine it.