Eliciting software requirements

Authored by Raghav verma

Under Software requirements specifications Knowledge Area

4 min to read

Table Of Contents #

Name of Skill #


Eliciting software requirements

Elicitation of requirements is one of the most important and difficult stages of software development where the stakeholders and development team interact with each other
to know what exactly is required by stakeholders as well as clients. What adds to difficulty is the mapping of client needs to software requirements as client talks from a business perspective whereas the analysts are technical in nature.

Classification of Skill #


  • Software requirements specifications

Elicitation of software requirements is not only about gathering the skills, but also observing and understanding the needs of stakeholders and then adding up all the requirements in SRS document.

Prerequisites for Skill #


  • Complete understanding of the problem domain

  • Identifying stake holders

  • Communication skills and observation skills.


  • Software design : Software requirements are contatntly refereed during the design phase in order to go in the right direction during the development.

  • Software testing : Testing is the investigation of working and quality of project. The results of testing are cross checked with the requirements.

  • Software configuration management : SCM makes sure that all the configurations are in accordance with the requirements.

  • Software engineering models and methods : The methods and models are testing for their completeness to meet the needs of stakeholders, thus requiring the requirements.

  • Software quality : It requires the checking of the conformance of design with functional and non functional requirements.

Rationale for Skill #


  • It 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 gathrered by simply communicating with stakeholders and customers.

Roles for Skill #


  • Design analysts.
  • Project manager.
  • software developers.
  • Testing team.

  • Interviews: It is the most common technoque for gathering the requirements, it requires the interviewer to identify the stakeholders and users from which he/she can gather
    the requirements. Interviews should be very well prepared in advance and in a proper manner to get the best out of this technique. both open ended and closed ended questions can be asked. Interviewee'spermission should always be asked to record the responses for later reference and in the end the response should be confirmed with them.

  • Prototyping: This is an effective method of requirements gathering as it heavily involves the user. In this method, the user is directly asked their requirements which is input for the changes and then they are shown the outcomes for their feedbacks. Though, this process can make the customers impatient as they are shown the prototype only, but the final product takes longer time.

  • Direct observations: other than conducting interviews and surveys, direct observation is effective as in many cases, the interviews are not enough as users have a vague idea of what actually the need and how they interact with the sorroundings of system. the observations can be recorded but should always be approved from the users. Sometimes direct observations can turn out to be less or poorly captured.

  • Reading available documentations: This is an effective method too as this method suppliments the other methods of elicitation. In this, the available docuements are analyzed, sthe structure of the organization as well as more crucial information about the stakeholders can be obtained. Also the documentation can help to clear any doubts or capture any information missed during the other methods.On the other hand, it should always be confirmed whether the documentation is up to date or not and also analyzing/reading the documentation can be time consuming.

Real-World Example/Scenario of Skill (Text, Graphic, Audio, Video) #


Questionnaire #

  • The following are the questions which can be asked to the stakeholders as:

  • What does success look like to you and your team ?

  • What are the problems you think we should try to solve ?

  • What is the ideal outcome you want from this project ?

  • Who else you think we should talk to ?

  • Any important factors you want us to focus on ?

Role of Academia or Industry in Cultivating the Skill #


  • There is an immense documentation for eliciting software requirements being taught to software engineering students and also available on the internet easily.
    Since, eliciting software requirements is an important and the most error prone phase, the documentations availabel teaches us to properly conduct the methods
    for elicitation of software requirements.

Tools Supporting the Skill #


  • Draw.io- This is a free online tool for making use case diagrams and sequence diagrams.

  • Jama software- It provides a platform for requirements,risk and test management.

  • Google docs- This tool can be used as questionnaire form of interview and thus the answers can be filled by the stakeholders and users.

  • Skype- This can be used to conduct online interviews.

Skill Self-Assessment #


  • 9/10

  • Reason: Elicitation is about knowing what really end users, stakeholders require.Any deviation from their requirements and needs
    will leaad to failure of the purpose and the system.Therefore, Eliciting software requirements is an important phase in software development.

References #


Back to Home Page