Requirements Gathering
Introduction
The requirements gathering process is critical for uncovering all necessary system requirements and building support and trust among users. Gathering complete and accurate requirements early in the process ensures that potential issues or overlooked requirements can be addressed without causing costly changes later in the project.
Goals of Requirements Gathering
- Uncover all requirements: Ensuring that all functional and non-functional requirements are identified early on is crucial. Requirements discovered late in the process are typically more difficult and expensive to incorporate.
- Build support and trust: Involving users and stakeholders in the requirements gathering process fosters collaboration, trust, and user support for the new system.
Techniques for Gathering Requirements
There are various techniques available for gathering requirements. The choice of technique depends on the project’s needs, stakeholders, and available resources.
Interviews in Requirements Gathering
Interviews involve direct communication with stakeholders (e.g., business users, project sponsors) to gather insights about their needs and expectations.
Advantages:
- Allows for in-depth discussions.
- Offers opportunities for clarification and follow-up questions.
Challenges:
- Time-consuming.
- Requires skilled interviewers to extract relevant information.
Joint Application Development (JAD)
JAD is a structured, facilitated workshop where stakeholders and system analysts collaborate to define system requirements.
Advantages:
- Encourages collaboration between business and IT teams.
- Reduces the time needed to gather requirements through focused sessions.
Challenges:
- Requires significant scheduling and coordination.
- Needs skilled facilitators to manage group dynamics.
Questionnaires
Questionnaires are written surveys used to gather information from a large group of stakeholders.
Advantages:
- Efficient for gathering input from a large audience.
- Useful when dealing with distributed teams or multiple locations.
Challenges:
- Limited opportunities for clarification of responses.
- Responses may be shallow or incomplete if questions are not well-crafted.
Document Analysis
Document analysis involves reviewing existing documentation such as manuals, policy guides, or system specifications to extract relevant information.
Advantages:
- Provides access to historical information and existing systems.
- Useful for understanding current processes.
Challenges:
- May not capture all user needs or process changes.
- Documents may be outdated or incomplete.
Observation
Observation involves watching users interact with the current system to understand workflows, challenges, and system usage patterns.
Advantages:
- Provides real-world insights into how users perform tasks.
- Identifies inefficiencies or workarounds that may not be documented.
Challenges:
- Users may change their behavior when being observed (“Hawthorne effect”).
- Time-consuming and requires access to live environments.
Alternative Techniques
There’s a few alternative techniques:
By choosing the appropriate combination of techniques, project teams can ensure that all critical requirements are gathered and understood, leading to a more successful system implementation.