I have to have all of the control system software ready for a power plant the second construction is finished enough to begin turning things on and commissioning them. This frequently overlaps with electrical, mechanical, and civil works still in progress. Not starting as early as possible means not finishing as early as possible which means holding up the transition from a construction project with construction loans to an operating asset earning revenue with much more favorable financing, which is significant in hundreds of millions of dollars projects.
All of the software needs to be ready to start commissioning on an unknown date. A lot of the programming can’t start until equipment details are received, which makes the whole thing a game of identifying what information you need and pointing out that if you don’t have it by x date your deliverables will be late, or you’ll have to work overtime or bring more people on it which will cost extra.
Having a good estimate for how long each piece of the programming will take and what inputs are required to finish it is crucial to having everything ready to go on D day or a bulletproof paper trail of how you’ve been fucked over by other people who couldn’t deliver, because those liquidated damages are no joke.
To me time estimates are a major component of engineering.
Edit: remove snark