I don't think your product development lifecycle is well defined and understood by everyone and I think that has an impact on velocity, estimating, and planning, so I thought I'd share some thoughts with you.
Estimates and planning are always challenging in engineering. However, there are common mistakes which can be avoided and good practices that can be implemented with the effect of removing uncertainty around engineering. The first is making sure the product development lifecycle is well understood so that project managers, product designers, engineers, and upper management all have a mutual understanding of what to expect.
The product lifecycle that we use at Citrusbyte is:
Idea -> Text Requirements -> Wireflows + Visual Design -> Engineering -> Complete Product/Feature