Software Requirements Elicitation
by Ravneet Brar under the Software Requirements KA.Software Requirement Elicitation is an important process in SDLC where the requirements are gathered followed by analysis phase. It requires discovering and researching about the requirements because the complete knowledge of requirements can not be gathered by simply communicating with stakeholders and customers.
Classification of the Skill
A Skill is classified as a technical skill if it has been acquired and honed through experience. A user can never become an expert of Requirements Elicitation unless he/she has been doing it for certain time as the various challenges that a person come might across are most likely to be different in each case. Hence Eliciting Requirements is a Technical Skill
Pre-requisites of the Skill
- Proper Domain Knowledge
- Understanding of various Stakeholders related to Project
- Good Communication Skills
- Good Analytical Skills
Related Software Engineering Areas
- Software Design: Design of a Software is directly dependent on the requirements of the required user. If the requirements are not accurate, the design of the software will suffer and so will Customer Satisfaction.
- Software Testing: Main objective of the Software Testing is to ensure that it performs all the tasks that the user expects and provides accurate results. This is again dependent on Requirement Elicitation as all test cases are majorly prepared according to User's requirements.
- Software Quality: - Quality of the software is ultimately measured from the fact that all user's requirements are fulfilled which is again dependent on Requirements Elicitation.
Rationale for Skill
Elicitation is one of the most important steps in the Software Development Life Cycle. Before requirements can be analyzed, modelled, or specified they must be gathered through an elicitation process. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational and technical areas .

Roles for skill
Different Roles may be involved in the process of requirement elicitation. These are:
- Relevant Stakeholders
- Product Owner
- Business Owner
- End Users
Work Related to Skill
Related activities are:
- Interviewing the stakeholders: Interviews may focus on general questions or may seek to elicit specific scenarios about the product
- Prototyping: This involves building a quick mock-up of the eventual system ranging from paper mockups of screens to beta-test code
- Engage: It is the stage where you hear out what the customer needs and propose an appropriate solution that meets their needs.
- Elaborate: It is the stage where every detail of the requirement is discussed and demonstrated to the customer through various artifacts
- Verify: It is the stage where review is performed, feedback is discussed and requirements are base lined.
Related artifacts are:
- Interview Documentation
- SRS Document
- Documents on Prototypes
Real-World Example/Scenario of Skill
Ticket Vending Machine for a public transport is prime example that requirement elicitation plays a major role in the success of the product .Most Important part of this project is to completely understand all the requirements as the users may vary from 8 years old to 80 years old and will have different mental image of the TVM.

There could be users of various nationalities and might not know the prevalent knowledge of that region. If Requirement Elicitation is not done properly and if some requirements are left out, it will have a negative impact on the users.
Role of Academia or Industry in Cultivating the Skill
Nowadays there are various courses and workshops available for an individual to learn about the Requirement Elicitation and its importance for the success of a project. So almost anyone can have proper theoretical knowledge about the Requirement Elicitation.Here is a workshop describing the process of Requirement Gathering
As far as becoming an expert in Requirement Elicitation goes, it can never be achieved without having any practical knowledge of working on the projects in the industry.Challenges that the user will come across when Eliciting Requirements in various projects will vary from one another, Hence making a person better at it every time.
Tools Supporting the Skill
- RequisitePro
- Objectiver
- CaseComplete
- RMTrack
- Optimal Trace
- DOORS
- Analyst Pro
Skill Self-Assessment
The reasons for the score are as below:
- I have worked as a Software Developer and worked on the CRM tool of Telecommunication Companies and my role was to modify the CRM’s functionalities according to the user’s requirements.
- As it is a Technical Skill, knowledge gained from only Practical Experiences can make an individual to be expert in Eliciting Requirements. Hence, it takes more than a year to be an expert in this.
References
- SOEN6011 Documentation PDF By Dr.Kamthan
- The Role of Stakeholders in Requirements Elicitation
- Software Requirement Elicitation
- https://www.cs.odu.edu/~zeil/cs350/latest/Public/eliciting/index.html
- https://www.mitre.org/publications/systems-engineering-guide/se-lifecycle-building-blocks/requirements-engineering/eliciting-collecting-and-developing-requirements
- Tools to gather better Software Requirements
- Software Engineering Models