Any initial estimate will go to hell quickly. The important thing is good communication between managers and developers to mitigate the effects of slip and to continually update the estimate.
If the developers know by the 2nd week that they're already behind because difficult things were glossed over initially, then they need to feel comfortable telling the managers rather then pretending that they'll catch back up. And the managers need to understand this type of communication is beneficial and not just get angry about schedule slip, disincentivizing further communication.
Correspondingly a good manager will aggressively probe intermediate milestones.
Manager: "Feature X should be be done now. "
Manager, "Show me."
Developer: "OK! But we first need to update the front end to reflect the new data model."
Manager: "So Feature X is not done."
Developer, "Well, no."