How to use data to come up with estimates for tasks at the initial stages? What's a reasonable time to come up with the estimates themselves (if there's research involved)?
The easiest heuristic here is just to pattern-match on historical data. If you're doing project X, find something that looks similar to project X in the past year, and that should be the starting point for your estimate. See Alex's great answer here.
The question of a reasonable time to come up with estimates is what I refer to as "a date for a date". This is a great practice of doing some legwork to better scope and understand the project. A few inputs for how long this should take:
If you feel like you don't have enough context, check out this detailed discussion.
How to use data to come up with estimates for tasks at the initial stages?
As Rahul mentioned, use historical data (go through past launches and their retrospectives + ask around). So for example if your project requires building 5 new microservices and it usually takes 1 week to add 1, this portion will take 5 weeks.
What's a reasonable time to come up with the estimates themselves (if there's research involved)?
From my experience at Meta (another Big Tech company), allocating around 10% of the time for planning worked out well for me. Here's some examples to clarify:
This will vary based on organization. Some orgs care less about quality and want to move fast, so you have less time for planning. Other orgs are extremely careful and want to move more steadily (this is common with orgs that are mature and have lots of compliance requirements), so you will have more time for planning. I would ask your manager what a reasonable timeframe is to come up with the overall plan/estimate and again use historical data (i.e. how much time your more senior teammates used for planning on prior projects) to figure out a reasonable timeframe.
Here's some other good resources: