We're not a startup, but what helped us nail delivery down is actively choosing between releasing feature sets or releasing on a schedule. You can't realistically get both. If you can, having a rolling release every two weeks that includes everything that's gone through Q&A means you have constant progress, no matter how slow it is. The other end of the spectrum is digging your head down until you get a set of features out and doing a release once that's done. Having constant rolling releases relieves your team of a lot of unnecessary pressure and is also a roundabout safeguard against feature-creep. I'm aware it doesn't work for a lot contexts, but if you can make it work, it's great.
On a long enough timescale there will be difficulty meeting all deadlines. People leave jobs, coronavirus interrupts, force majeure, motivation goes down, the task on hand is underestimated etc.. these will all be learning curves that will help refine your time guesstimates and hopefully predict better.