The following presentation was presented as part of my latest lecture in the SD FOrum - the Israeli Software Development Management Forum that was gathred in June 2010 to discuss the non-functional requirements of a software product.
In this lecture I ellaborated some of my lessons on non-functional requirements that eventually become part of the hidden costs of a software product, such as:
Tracability - the ability to trace each action performed by the software
Auditability - the ability to perform audit operation
Trainability - the ability to learn how to use the software and its level of self learning curve
Supportability - the easiness in which the software can be supported by help deks and field engineers
and much more...I tried to steer away from the obvious non-functional requirements such as performance as this was covered in another lecture.