My boss comes to me saying we must finish feature X by date Y or else.
Me:
We're literally in this mess right now. Basically, product team set out some goals for the year, and we pointed out early on that feature X is going to have a ton of issues. Halfway through the year, my boss (the director) tells the product team we need to start feature X immediately or it's going to have risk of missing the EOY goals. Product team gets all the pre-reqs finished about 2 months before EOY (our "year" ends this month), and surprise surprise, there are tons of issues and we're likely to miss the deadline. Product team is freaking out about their bonuses, whereas I'm chuckling in the corner pointing to the multiple times we told them it's going to have issues.
There's a reason you hire senior engineers, and it's not to wave a magic wand and fix all the issues at the last minute, it's to tell you your expectations are unreasonable. The process should be:
- product team lists requirements
- some software dev gives a reasonable estimate
- senior dev chuckles and doubles it
- director chuckles and adds 25% or so to the estimate
- if product team doesn't like the estimate, return to 1
- we release somewhere between 3 and 4
If you skip some of those steps, you're going to have a bad time.