We all know how initial ETAs get thrown off rails as the project progresses (software). What are some effective strategies to communicate ETAs/deadlines to internal and external stakeholders?
Regular updates on what you are doing and why you are doing it from business and technical perspectives go a long way in helping stakeholders understand what matters, what doesn't, why, and get a feel on why things take time or do not take time.<p>For example, one of the things we do is be clear that our product development is centered around tackling things with high impact and high frequency to users. Not matching features in other products. Not implementing features we've read about. Not imagining problems to solve that we have not faced in real life.<p>After doing that over and over again, people get it and you don't spend time explaining how you handle a backlog.<p>Explaining why something matters or does not matter from a business stand point and then bringing that rationale to the technical activities being carried out to reach that goal is super useful to people to understand that this takes time but is important.<p>Also, doing that makes stakeholders able to challenge or augment specific points because the thought process is exposed, but also makes them able to sell what you are making because all these explanatory emails will be their talking points.<p>For ETA: explain the dependency graph, how much time each of these will take, which ones are trivial, which ones could be tricky, which ones depend on third party dependencies or external factors.<p>Share how you think with people, and they can become really good at this. It takes a bit of effort at first, but boy the rewards after that are worth it.
"Well, gee, that's a lot. I'd be really impressed if our team could get to `$GOAL x 0.75` in $TIME. `GOAL x 0.25` is a big ask, we'll have to see..."<p>Lots of under promising. Aggressively, even when you get tired of it.