• Rewrites are always very hard to quantify. I read on twitter recently programming is 95% thinking/design and 5% typing/doing - once you've done the first version you know what works and what doesn't and where the pain points are, so it's much easier to write a second version which is vastly improved (as long as you're not overly ambitious).