What to write down before the first line of code
Five things without which a schedule is a guess: roles, data, integrations, the edge of the version, and the sign that it is done.
A schedule cannot be estimated from screens. A screen is a consequence. Before code we write down five things.
Who uses the product and which action matters most. What data is stored and who may see it. Which outside systems are involved and what happens if one of them is down. What is in the first version. What counts as done.
That is enough to name a range, not a promise. Anything left off the list does not disappear: it becomes the next step, not a surprise inside the current one.