Requirement Analysis
Requirement Analysis is the process of defining user expectations for new software being built. And consists of: “requirement gathering” and “analyzing the requirements.” Requirements analysis is an important aspect of project management lifecycle and unlike other phases of the SDLC, encompasses all the phases of the project.
The key aspects of requirement gathering
- Communication: User, developer and other involved stake holders.
- Documentation: Documentation of all aspects of the project development process.
- Team work: It involves hardware, software and human factors and requires skills in dealing with people.
- Prototype(Optional): An effective way is to construct a prototype, which is modified based on the feedback
Activities for Requirement Analysis
- Eliciting requirements: The task of communicating with users.(Interviews, Surveys, Etc.)
- Analyzing requirements: Gap Analysis of the As-In Vs To-be process for the solution.
- Requirements modeling: documenting the requirement in various forms. (SRS, User Stories Etc.)
- Review and retrospective: Iteration to identify actions for improvement going forward.
Requirement Types
- Functional requirements: They describe what the system has to do. Like processes, information, and interactions.
- Non-functional requirements: These are requirements that address the operational and technical requirements of the project. Like encryption, security, hosting.
Role of the user in the requirement Gathering
The user is practically the most essential stakeholder of the project and key in the process of the project management. Design is based upon an explicit understanding of users and is driven and refined by continuous user-centered evaluation.
The phases of the user centric designing process:
- Specify the context of use: Identify who will use the product, what for, and under what conditions.
- Specify requirements: Identify any business requirements that need to be considered for a successful product.
- Create design solutions: This involves phase wise building of a rough concept to a complete design.
- Evaluate designs: Evaluation through user testing with actual users - is a good software development practice.
The Importance of Requirements Management
Requirements management is important for two main reasons:
- Requirements documentation is a reference to document the evolution of a project.
- Requirements documentation is a reference for the client to better understand what to expect out of the project.
At SIBIN, we realize that the objective of the requirement analysis process should be to overlap the “Client expectations” with that of the “Digital solution”. We realize that the smaller this gap the happier the client is with the end solution. So, our processes involve continuous execution of each of the facets of the “Requirement Gathering” & “Requirement Analysis” under the Agile framework with the client’s core characteristics as a reference for the solution developed.
“It’s never too early to start requirement gathering and documenting for a project.
In fact, start yesterday.”