Mastering Non-Functional Requirements: Templates and tactics for analysis, architecture and assessment