How to Write Awesome Tech Specs
As your project and purpose changes, your spec will too. The early stages of a project may call for a high-level spec designed to get buy-in from stakeholders. After buy-in is achieved, you might transition your spec to a lower-level document that outlines all the engineering work needed to complete the project, including specific APIs, errors, and analytics.
https://eng.lyft.com/awesome-tech-specs-86eea8e45bb9