The way we do it now is product write epics and user stories. These stories contain the business problem, the acceptance criteria, design, etc. The problem is these stories are usually not small enough for an engineer to work on in a sprint so they need to be broken down. To break them down, engineering creates our own story and links it to the product story so we can point these broken down engineering stories so we can measure velocity. The engineering stories are light weight with little technical details since the title is usually self explanatory.
How does everyone else do it? I feel like i'm always battling how to manage execution of product and engineering, especially in a startup environment.