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:

  1. Identify the applicable requirements: Understand the types of requirements relevant to the project (functional and non-functional).
  2. Use requirements-gathering techniques: Employ various techniques (e.g., interviews, observation) to gather detailed information.
  3. Verification and prioritization: Collaborate with users to verify the accuracy of the requirements, make changes as needed, and prioritize them based on business needs.
  4. 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.
  5. Future enhancements: Requirements that address a need but fall outside the current project scope can be documented for potential future projects.