Estimating is an art - there will always be unforeseen obstacles when working on projects.<p>There's a wide attack surface for this problem, from "keep your codebase clean in the first place" to "allocate time for investigation" to "get better at rolling with the punches."<p>What's your team's strategy and why does it work?