A good requirement should have Necessary, feasible, testable and deliverable characteristics.
It should explain what stake holders need and it should be related to business objective
Requirement should be smart (specific, measurable, achievable , realistic and time bound so that the objectives are easy to understand and put them into use and can be tracked till completion.
Requirements are documented after Stake holder analysis, Elicitation techniques Sorting, Prioritizing and Validating.
Stake Holder Analysis: In this internal and external stake holders are identified and listed.
Sort the Requirements : They are sorted according to stake holder needs. It should be divided into Functional and non functional requirements.
Prioritization of requirements is done by Moscow. technique.
Must : Requirements which are must
Should : It should have requirement but not compulsory
Could : It can have requirements but there will not be any impact on ther requirement
Would- we can have these requirements but which are not executed now.
Validating the requirements should be done by FURPS technique ( Functionality, usability, Reliability, Performance & Supportability