Validating User Requirements During Requirements Elicitation and SRS Development
Requirements Elicitation
The process of validating user requirements during requirements elicitation requires the following important skills as indicated by Anthony Aaby in his online article Requirements Engineering.
Ability to acquire an understanding of the application domain
Technical skills
Interpersonal skills to help build consensus between heterogenous groups of stakeholders
The ability to acquire an understanding of the application domain is important because some users are not knowledgeable enough in using their systems. When they give requirements, some do not know which is feasible and which is not. Therefore, if one has good understanding of the application that the user uses, he can easily identify what the users need. Moreover, an understanding of the application domain may involve the market analyses of other products that may help the user decide on his requirements.
Technical skills on the other hand is important in relation to being knowledgeable on the user's system. With good technical skills, one can validate which user requirements are technically feasible and which are not based on the development tools being used. This is because some development tools have limitations. Although some user requirements are logically correct, depending on the development tool however, some requirements may not be technically possible.
Third is the interpersonal skill. Validating user requirements always entails communication with users during clarification of requirements such as interviews, meetings, and observations. A good interpersonal skill can build a good relationship with users even during situations when their requirements are not feasible.
SRS Development
The development of software requirement specifications focuses more on the technical side during user requirements validation. Anthony Aaby indicates that user requirements must be feasible and necessary and are simply defined by the following properties.
Clear, unambiguous
Where appropriate, quantitative
Non-prescriptive
Correct, complete concise
Precise and verifiable
Consistent
Traceable
Modifiable
Validation of user requirements is an essential process for SRS development to prevent issues that may occur during the main software development process where coding and programming is involved. This can be similarly done via interviews, meetings, and observation. Because an SRS is the reference that is being used during the software development process, user requirements can greatly affect the outcome of a project.
Bibliography
Aaby, Anthony. Requirements Engineering.
2005. Open Content Online.
http://cs.wwc.edu/~aabyan/435/Requirements.html
Software Engineering Requirements Are Volatile: Design, Resource Allocation, and Lifecyles Aren't So Flexible For the majority of software development initiatives, bad requirements are a fact of life. Even when there is a high quality elicitation process, requirement change throughout the software lifecycle model. This is expected, if not desired to build a system that the customers wants and will use. But, it's difficult to change design and resource allocation once these have
Management Requirements engineering process is at the very core of project success. Rather than spend huge amounts of money for reworking the whole project it is prudent and cost effective to identify and rectify the problems early in the project development life cycle. We are witnessing a paradigm shift in communication and computer technology and there is a consequent change in our business methodologies. In this automated business environment there is