Everything you need to know about software requirements: elicitation, analysis, documentation, validation and management