The list:
- The end user got what they needed, or what they wanted.
- The end user was able to easily make use of what you made.
- The quality, performance, security or other attributes of what you made were acceptable to the end user.
- You utilized a reasonable amount of resources in building it.
- You completed the work in a reasonable amount of time.
- The work was built to be maintained or updated or expanded.
— http://thecodist.com/article/the-six-goals-of-every-programming-project