Requirement Identification
Strategies for Problem Analysis
Several strategies can be used to analyze problems and determine requirements effectively:
- Root cause analysis: Identifies the underlying cause of problems within the current system. This analysis can be done with Fishbone (Ishikawa) Diagram in Information Systems
- Duration Analysis: Examines the time taken for each step of a process, identifying bottlenecks or inefficiencies.
- Activity-Based Costing (ABC): Focuses on the costs associated with specific activities within the system to uncover areas where cost savings can be achieved.
- Informal Benchmarking: Compares the system’s processes and performance with industry standards or competitors.
- Outcome Analysis: Focuses on what the system needs to deliver in terms of outcomes and benefits.
- Technology Analysis: Looks at how new or existing technologies can be used to solve problems or improve system performance.
- Activity Elimination: Involves eliminating unnecessary activities or processes that do not add value.
Techniques for Identifying Requirements
To gather requirements effectively, systems analysts use a variety of techniques:
- Interviews: Engaging with users, stakeholders, and subject matter experts to understand their needs and expectations.
- Questionnaires: Using structured forms to collect information from a large number of users or stakeholders.
- Observation: Watching how users interact with the current system to identify areas for improvement.
- Joint Application Development (JAD): A collaborative workshop where business users and systems analysts work together to define system requirements.
- Document analysis: Reviewing existing documentation, such as procedure manuals, policy documents, or system guides, to extract relevant information.
Creating a Requirements Definition
The process of creating a requirements definition involves multiple steps to ensure that both functional and non-functional requirements are captured accurately:
- Identify the applicable requirements: Understand the types of requirements relevant to the project (functional and non-functional).
- Use requirements-gathering techniques: Employ various techniques (e.g., interviews, observation) to gather detailed information.
- Verification and prioritization: Collaborate with users to verify the accuracy of the requirements, make changes as needed, and prioritize them based on business needs.
- Monitor scope creep: Continue this process through the analysis workflow, but be mindful of scope creep, which can lead to project delays and cost overruns.
- Future enhancements: Requirements that address a need but fall outside the current project scope can be documented for potential future projects.