• Stars
    star
    187
  • Rank 206,464 (Top 5 %)
  • Language
  • Created over 4 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A product/engineering proposal template that I've used at multiple companies

Product/Engineering proposal template

Here's the proposal template that I've used at incident.io, Ravelin and Monzo.
It's useful as a general purpose template for writing proposals for product and engineering. It's been used from extremely technical engineering proposals, to broad product strategy.


What problem are you trying to solve?

  • Introduce the problem statement here. This might be well-defined ('we need to tweak the parameter of a rule from X to Y to help reduce a certain type of abuse'), or more fuzzy ('we need to invest more in paying back technical debt').
  • Focus on the underlying problem that needs to be solved, as opposed to jumping to how you will solve it.

Why should we solve it?

  • Why is this an important problem for us to solve?
  • Is it a big enough problem to solve?
  • Should we solve it now, or later?
  • Provide specific data (quantitative or qualitative) wherever possible.

How do you propose to solve it?

  • Add details of your proposed change. This can be high-level as psuedocode and sketches of the architecture, or as low-level as Protocol Buffer and interface definitions. Decide what the context of the proposal is, and write appropriately.
  • Be explicit about what you are optimising for in this proposed solution — for example, 'we need to hit this deadline, so we'll accept the tech debt this entails'.

What other approaches did you consider?

  • In general, it's a red-flag if you haven't thought of a couple of different ways that you could approach the problem.
  • What does your proposed solution give you that these approaches don't?
  • What are they optimising for that isn't appropriate in this case?

What could go wrong?

  • What risks does your proposed change entail?
  • How will you mitigate them?
  • How could this system fail, and what would be the impact if it did?

If you find it useful, let me know on Twitter!