Share
Explore

ERD w/ Tutorial

Engineers should write this doc after they have been assigned to work on it and *before* any code is written.
👉 Please remove tutorial text as you go along.
👉 Expect to spend a ~1h working on this doc at the beginning of most projects than are scoped to take 1w+. Timebox this to no more than 3h.
👉 The core engineer building this project should be the person writing this doc, but collecting input from other engineers / tech leads is encouraged.

🌞 Vision

Link to the original PRD for this doc. If one doesn’t exist (it probably should!), write a one sentence description of the intended outcome of this project.


⚖️ Requirements & Constraints

In this section, describe any engineering specific requirements or challenges (performance, scale, etc.) that we foresee.
Ex: Since this function is called 10k times during planning, it needs to be highly performant
Ex: We want to re-use this flow in future features, so it needs to be designed to be generic / reusable.

📕 Plan

Data model: Describe any changes to the underlying data model, including both modifications to existing objects as well as net new ones.
Migration: If this is a breaking data model change, include a plan for how old data will be managed (migrated, deleted, etc.)
API Design: If any new endpoints need to be built, describe the new endpoints and input / outputs.
Reusable Components: Describe any new generic components are being built here.
Libraries: If any new external dependencies are planned to be introduced, include that here. We encourage explaining alternatives considered, especially the alternative of simply no new dependencies.
Architectural diagram: If significant backend changes are happening, feel free to include an architectural diagram illustrating how components will interact (not required for most simple projects)


📖 Testing

Describe what your plan for testing this feature is. This should focus mostly on engineering specific testing and less on product flows.
What unit tests do you plan to write?
Any new alerts / logs we should be monitoring?

⏰ Timeline

Add a bullet point for each milestone and a rough estimated timeline. For each step, lead with the primary engineer / person responsible as well as additional resources you may need. End with a total proposed timeline.
Ex: Michael: Build X API (1 day), need ola for code review
Ex: Stella: Build reusable component (1w), need design for design review
Ex: Total timeline: 1.5w

🙋🏼‍♀️ Open Questions

Add any open questions that need to be answered here.

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.