I like to explain programming by comparing it to writing a book.
You can't change the plot-lines overnight without having to throw away a few chapters, as well does the plot always have an impact on the story that builds up to it.
Starting to write a book without a good grasp of what story you want to write will probably just be a time-suck.
Both are a produce of intellectual activity and require adequate understanding of the goal in order to streamline the product.
Both are a produce of intellectual activity and require adequate understanding of the goal in order to streamline the product.