What is Requirement Elicitation?
Why is it important in the software development process?
A project can fail for the following reasons:
- Poorly defined requirements
From the project management prospective most of the project fail when they do not meet the following criteria:
- a. Deadline
- b. Cost
The reason behind software failure may be poor requirement elicitation. If the functionality is poorly specified its implementation would either lead to creation of certain functionalities that aren’t needed or will lead to complete absence of the others. As a result would lead to lost development time, missed project timelines, loss of revenue, increased frustration amongst team members, poor quality of documentation – the list of impacts can go on and on.
- Lack of communication
- A bad leadership
Within a team it is a well known fact that a bad leader could be one of the most important factors for project failure. A bad leader not only damages the project development life cycle but also damages the reputation of the team and company.
For successful development of a project, the leader should orchestrate the best team to get the best performance and end results. Leaders should be fully dedicated to the success of the project, supportive to teammates and must work such that they are able to manage the team, people’s work, relationship, clients and partners. Lacking any skills will lead to the failure of the project.
- A bad team
For success of any software development, performance of the selected team is very important because this whole process requires team effort. Any team which lacks in coordination, communication, skills and discipline can never help to achieve the end results in the best possible ways.
Widely used/ accepted techniques for requirement elicitation
After decomposing the task into subtasks, the purpose of task analysis is to focus on identifying the problems/blockages, decision making, judgments and resource allocation (appropriate team as well as technologies/tools).
In short the purpose of task analysis is to know
- a. What are the stakeholder’s (Client and users) goals
- b. What they want to achieve
- c. How the task will be initiated and completed
Right Questions can help you understand the process
Asking the right question can help fill the gap between developer’s understanding of the business process and real requirements of the clients. In general, questionnaires are techniques of asking the right questions.
Let’s understand it with a case: Suppose a school owner approaches a software development agency with the requirement of a Learning Management System or a software for schools but he does not know about how it will be done, what techniques will be used and how it will fulfil and map his requirements. To ask the right questions you should have an understanding of the required business model like in case of school you should know the process of student’s admission, how they teach, how they mark attendance, how they evaluate the performance of students, how teachers get appointed and way of evaluating teaching skills etc..
Here under are few popular methods of questionnaires:
- a. Telephonic
- b. Survey
- c. Email questionnaires
- d. Interviewing the stakeholders
When interviewing the stakeholders, Email questionnaires are the most suitable tool for software agencies and developers.
- a. Time limit
- b. Evaluation criteria
- c. Avoid criticism and office politics