Quality, simplistically, means that a product should meet its specification
This is problematical for software systems
Tension between customer quality requirements (efficiency, reliability, etc.) and developer quality requirements (maintainability, reusability, etc.)
Some quality requirements are difficult to specify in an unambiguous way
Software specifications are usually incomplete and often inconsistent