top of page
  • Writer's pictureTiffany Silva

Requirements Gathering for a Software Development Project- Agile Software Development Methodology

Updated: Aug 23, 2021



 

Gathering requirements is considered a crucial phase in the software development lifecycle. In the early 1980s, the traditional software development lifecycle, waterfall model was followed. Thus, the requirements gathering phase had to be done upfront and finalized before moving on to the next phase. Imagine, investing in a long-term software project and after several years, the market demand and the technologies have evolved, definite failure. For reasons like this, in 2001, The Agile Manifesto was introduced so that there'll be more flexibility, adaptability and collaboration in the software development life-cycle.

With that said, the most popular agile methodology being used is Scrum. Scrum goes in iterations until the final product is delivered. Each iteration is called a sprint and one person, usually the project manager will be assigned as the scrum master to manage how information is exchanged within the team. So the fun part begins, first, the requirements are gathered using several techniques.

There are two types of research that can be done in requirements gathering phase,

  1. Primary Research- Interviewing, observation, surveying.

  2. Secondary Research - Similar systems study, published articles, journals.

Primary Research

 

Conducting a primary research allows to gather requirements from people who are directly involved. Based on the end customers and the product owner the most appropriate technique will differ.


Interviews

Interviewing is most appropriate when the information that requires to be gathered must be very concise and detailed. Also, the number of people to be considered for a session is less. Interviewing also has two types, virtual interviews and face-to-face interviews. Determining the appropriate type depends on the situation.


Observation

Observations are most appropriate when there are improvements to be made or to observe a manual, semi-automated process to be fully automated. There are two types of observation techniques, unobtrusive observation and participant observation. Unobtrusive observation is done by recording the behavior of people involved and is most preferred when the number of participants involved must not be aware that they are being observed, the data should be kept anonymous to avoid privacy violation and the people count to be observed is high. Participant observation is done by interacting and observing the participants and is most preferred when there is less number of people to be observed. Again, determining the appropriate type depends on the situation.


Survey

Surveys are most appropriate when there is a need to gather personal opinions or to gather a general result from a large group. Questionnaires are one such example of a survey.


Secondary Research

 

Secondary research is conducted to study similar systems that already exists. Furthermore, it also allows to dig deeper into solutions proposed by others for problems similar to the problem you are addressing.

This way, strengths and weaknesses of the existing systems and proposed solutions can be analyzed and evaluated to find the most appropriate solution to the problem you are addressing.

For example, you can find published articles by other authors and evaluate reports by other similar systems and find the most effective and efficient way to solve your problem.


Gathered Requirements, what is next?

 

In an agile methodology like scrum, the requirements can change over time because scrum allows adaptability, flexibility and collaboration throughout the software development life cycle. The gathered requirements are made into user stories. User stories are requirements written based on a user's requirements. For example, "As an admin, I want to add users so that I can create an account for a user and register them to the store". Note the format, so the accepted format for writing user stories is,

"As a ...., I want to .... so that ...."

Now you have created the user stories based on the requirements gathered, the next step is to add them to the product backlog. The product backlog is like the task list for the product to be developed. So a set of user stories are taken after considering the estimations for each sprint. At the end of each sprint, new user stories can be added to the product backlog and restructured based on the priority of the user story. So this continues until the end product is delivered.


What is the best technique for gathering requirements?

 

It depends on the problem that is being addressed. If the customer has the idea and the requirements can be gathered through a number of people and it is not meant to be used by general people, then interviewing would be the best technique

but if its the opposite, then surveying or observation techniques can be used to gather requirements. Whatever the case, secondary research should definitely be conducted to have deep knowledge on existing similar systems and other proposed efficient and effective solutions. Because why spend time developing and implementing from scratch when it exists out there already?


Alright folks, hope you gained a good knowledge on gathering requirements and the scrum agile methodology. Tell me what you think through comments. :)



76 views2 comments

2 Comments


Tiffany Silva
Tiffany Silva
Sep 06, 2019

Thank you shereen.

Like

shereenpreena1998
Sep 06, 2019

Nice one.. There are lot of things to learn from this..Keep it up!

Like

Posts

bottom of page