I can't remember who created this list, but this is what
i was taught in college. This is a very generic list of
qualities, but one that should be reflected upon often:
- does the software behave as specified?
- can we depend upon this software?
- how well does software behave beyond
what it is required to do?
- is the software efficient? scalable?
- user friendliness
- human-computer interaction
- test test test!!
- be sure that whomever takes over your code does not
know where you live
- can others use this wheel for their needs?
- does it run on other platforms? will a lot of changes be
required to do so?
- can others understand your code? did you try to ensure
that others can understand it?
- how well does this software work with other
- measurement of the development process, not necessarily
how productive the software itself is
- ability to meet your deadline
- is the documentation clear to internal and external
users of the software?
(the triplet paradiddle with high-hat)