Spend a third of a project figuring out exactly what you want and how it should work. Take a third to build it.
Then test it and make sure it does what you want for another third.
You can afford less time in any given area and still get an end result but I believe the total project time goes up if you do. Short change one, you spend more.