Hacking is a good way to get to know the lay of the land, before you lay down the actual roads. Hack towards a solution once, throw it all away. Hack a better solution, throw it all away again. Only then build it properly with the gathered knowledge and experience of the problem.
Yeah, that's how I work.