I think the key here is that you want to come to a decision as quickly as possible. In other words, "Fail quickly, for that is the only path to sucess."
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?