One-Pagers (short product specification documents) are an important part of product development. Crystal clear thinking upfront can often save multiples of that time down the road when you don’t have to throw away expensive high fidelity design or production level code.
One-Pagers also allow teams to get on the same page (particularly in distributed, async orgs) before work actually begins. These documents help clarify the “why” behind the work and the scope of a project before the team starts to build the actual software to solve a problem.
Here is a format that I like, and have used in the past. I think it’s helpful to have a consistent format for your company that is also lightweight. If it’s widely adopted the team will also find these easier to consume in the future.
I like to start all project One-Pagers with a short, consistent table so it’s easy to parse. If you’re using a tool like Notion a number of these buckets can be selections over free text.
|Description||One sentence description of the feature|
|Goals||What is the user goal? What is the business goal?|
|Metrics||What will we measure to determine if the project is successful or not?|
|Responsible||Who is the person or team directly responsible for the project?|
|Impact||Simple T-Shirt Size (XS,S,M,L,XL)|
|Effort||Simple T-Shirt Size (XS,S,M,L,XL)|
|Urgency||Is there a hard deadline?|
|Risks||Explicitly list some of the key risks (1-2 things typically)|
Before working on the the solution, start by clearly defining the problem so that everyone on the team has a clear understanding of what we are trying to solve and why we are trying to solve it.
- What is the user or business problem we are trying to solve?
- What is the evidence of this problem (user feedback, data/chart, intuition)?
- Why is this problem an important problem to solve now?
- How does this problem fit in with our overall company goals?
The most important thing to define in this section is what is in scope and what is not in scope for the first shippable version of the solution (or minimum viable product, MVP).
- For more complex experimental features, some design exploration and prototyping may be necessary. In these cases it’s good to put some guardrails around the prototyping so that the design space is constrained.
- Be practical about the feature scope based on your knowledge of the technical constraints, team capabilities.
- Summarize the user flow for the MVP so that engineers are not designing UX on the fly.
- List all open questions (design or engineering) clearly so that the team is on the same page about things that we need to solve through experimentation.
There are always good ideas that don’t make the MVP and it’s good to record them to show how the feature could evovle but also constrain the first version.
- List out feature enhancements in rough order that you will come back to later and prioritize.
- Create a task (e.g. in Asana or Notion) for each distinct additional piece of work and tag it with the feature name, so it does not get lost after implementation.
- When deciding what to prioritize in the future you can then pick between an enhancement for an existing feature and a new feature more systematically.
Before you launch features there should be some sort of launch plan and checklist to make sure that balls are not dropped like QA (testing, performance), event logging, product marketing plan (customer emails, blog posts, marketing), support documents, AB tests, or a staggered rollout.
Although you can choose to include these in more detailed product specs they are often similar and I reserve these for more detailed execution documents vs. these simple product one pagers.
I don’t recommend you keep these documents up to date after shipping the first version (adds too much overhead). Features evolve during development and the purpose of this document is to act as a central starting point to get everyone on the same page and the source of truth usually moves to whatever product/project management tool you use for your roadmap.