When I think about my projects "working", I always try to answer the following questions:
1) Is my code doing what I believe it should be doing? That question always have objective answers and is the subject of software engineering testing.
2) Is my solution solving my problem efficiently?
Often that's a domain specific question and different domains have different ways of doing quality assurance, there's no silver bullet.
Comments
When I think about my projects "working", I always try to answer the following questions:
1) Is my code doing what I believe it should be doing? That question always have objective answers and is the subject of software engineering testing.
2) Is my solution solving my problem efficiently? Often that's a domain specific question and different domains have different ways of doing quality assurance, there's no silver bullet.