Mastering Non-Functional Requirements