This is a problem of planning; I don't think more or more frequent planning is the answer.
Instead you need to make the minimum viable thing, even more minimally. Make sure the very first iteration is end-to-end usable to solve a real problem. Then you'll notice if you can't use async on the backend before putting async everywhere. You'll notice if you're testing too much. And you'll have a better understanding of your burn rate because you've done all the tasks, including the things like design and hosting and legal that can easily be forgotten.
Comments
This is a problem of planning; I don't think more or more frequent planning is the answer.
Instead you need to make the minimum viable thing, even more minimally. Make sure the very first iteration is end-to-end usable to solve a real problem. Then you'll notice if you can't use async on the backend before putting async everywhere. You'll notice if you're testing too much. And you'll have a better understanding of your burn rate because you've done all the tasks, including the things like design and hosting and legal that can easily be forgotten.