ScholarQuill logoScholarQuillUniversity Notes
  • Notes
  • Past Papers
  • Blogs
  • Todo
Login
ScholarQuill logoScholarQuillUniversity Notes
Login
NotesPast PapersBlogsTodo
More
SubjectsDiscussionCGPA CalculatorGPA CalculatorStudent PortalCourse Outline
About
About usPrivacy PolicyReportContact
Notes
Past Papers
Blogs
Todo
Analytics
    Current Subject
    🧩
    Software requirements engineering
    ITEC4148
    Progress0 / 27 topics
    Topics
    1. Introduction to Requirements Engineering2. Software Requirements3. Classification of Requirements4. Requirements Process5. Levels and Layers of Requirements6. Requirement Characteristics7. Analyzing Quality Requirements8. Software Requirements in the Context of Systems Engineering9. Requirement Evolution10. Requirement Traceability11. Requirement Prioritization12. Trade-Off Analysis13. Risk Analysis and Impact Analysis14. Requirement Management15. Interaction Between Requirement and Architecture16. Requirement Elicitation17. Elicitation Sources and Techniques18. Requirement Specification and Documentation19. Specification Sources and Techniques20. Requirements Validation and Techniques21. Management of Requirements22. Introduction to Management23. Requirements Management Problems24. Managing Requirements in an Acquisition Organization25. Managing Requirements in Supplier Organizations26. Managing Requirements in Product Organizations27. Requirements Engineering for Agile Methods
    ITEC4148›Elicitation Sources and Techniques
    Software requirements engineeringTopic 17 of 27

    Elicitation Sources and Techniques

    9 minread
    1,496words
    Intermediatelevel

    Elicitation Sources and Techniques in Software Requirements Engineering

    In the process of requirement elicitation, it's crucial to identify the appropriate sources of information and employ the right techniques to gather accurate and comprehensive requirements. The ultimate goal is to ensure that all relevant stakeholder needs are captured, understood, and translated into clear, actionable requirements for the software system.


    1. Elicitation Sources

    Elicitation sources refer to the entities or places from which requirements can be gathered. These sources include stakeholders, documents, existing systems, and other indirect sources that provide useful information. Below are common sources used during requirement elicitation:

    1.1 Stakeholders

    Stakeholders are individuals or groups who have a vested interest in the system and its outcomes. They provide the most direct and relevant input to the elicitation process. Different stakeholders may have different perspectives, needs, and priorities. Common stakeholders include:

    • End Users: The people who will interact with the system directly, and whose needs are most critical for the system’s usability.
    • Customers: Those who commission or purchase the system and have a business need or goal the system should address.
    • Business Analysts: Professionals who translate business needs into technical requirements and are typically skilled in understanding both the business context and the technical aspects of the system.
    • Product Managers: Individuals responsible for overseeing the product development and aligning it with business goals.
    • System Administrators: Those who will be responsible for managing and maintaining the system.
    • Regulatory Bodies: External entities that may impose constraints, such as compliance and legal requirements (e.g., GDPR, HIPAA).
    • Developers and Technical Architects: These stakeholders provide technical insights about system constraints, capabilities, and implementation feasibility.

    1.2 Existing Documentation and Systems

    • Existing System Documentation: If the new system is intended to replace or upgrade an existing system, documents like user manuals, system specifications, and reports from the legacy system can serve as valuable sources of requirements.
    • Business Process Models: Diagrams or documents that illustrate how business processes work in the current system. Understanding the current process is crucial for determining how the new system should function and what improvements are needed.
    • Regulatory Standards: Compliance requirements and standards documents (e.g., ISO standards, industry-specific regulations) that outline necessary technical and business constraints.

    1.3 Subject Matter Experts (SMEs)

    Subject Matter Experts are individuals with deep knowledge of a particular aspect of the business or technology. They provide expert insight into specific areas, such as:

    • Domain experts who understand the business processes or industry-specific needs.
    • Technical experts who can provide input on system capabilities, limitations, and technologies.

    1.4 Market Research and Competitor Systems

    In some cases, researching competitor systems or studying similar applications can provide valuable insights into industry standards, user expectations, and innovative features that should be considered in the new system.

    • Market Trends: Researching industry trends and user preferences through surveys, studies, and reports.
    • Competitor Systems: Studying similar systems in the market can highlight essential features, user interface expectations, and performance benchmarks.

    2. Elicitation Techniques

    Once the sources of information are identified, the next step is to employ appropriate elicitation techniques to gather and understand the requirements. Different techniques are suitable for different contexts, stakeholders, and types of requirements (e.g., functional vs. non-functional).

    2.1 Interviews

    Interviews are one of the most commonly used techniques for eliciting requirements. They involve one-on-one discussions with stakeholders to understand their needs, preferences, and expectations.

    • Structured Interviews: These have a predefined set of questions that focus on specific topics. Structured interviews are good for gathering consistent data across multiple stakeholders.
    • Unstructured Interviews: These are more conversational and flexible. They allow the interviewer to probe deeper into the stakeholder’s responses and explore areas that may not have been initially considered.
    • Semi-structured Interviews: These combine elements of both structured and unstructured interviews, where some questions are predefined, but the interviewer has the freedom to explore topics in more detail.

    Advantages:

    • Personal, in-depth insights from stakeholders.
    • Flexibility to probe deeper into areas of interest.

    Challenges:

    • Can be time-consuming.
    • Difficult to manage if there are many stakeholders to interview.

    2.2 Workshops

    Workshops involve gathering a group of stakeholders to discuss and brainstorm the requirements. Workshops are typically structured events where stakeholders collaborate to define and prioritize requirements.

    • Requirements Workshops: Typically involve a facilitated session where stakeholders work together to discuss, negotiate, and refine requirements.
    • Joint Application Design (JAD): A specific form of workshops commonly used in structured settings (especially in software development) to facilitate the capture of requirements through collaborative group discussions.

    Advantages:

    • Promotes collaboration and consensus-building.
    • Can uncover requirements that may be difficult to identify individually.

    Challenges:

    • Can be difficult to manage if there is a large group of participants.
    • Requires skilled facilitators to ensure focus and manage conflicts.

    2.3 Surveys and Questionnaires

    Surveys and questionnaires are typically used when gathering data from a large group of stakeholders. They involve distributing a set of structured questions (often closed-ended) that stakeholders can respond to.

    • Online Surveys: Tools like Google Forms or SurveyMonkey can be used to reach a large group of people and collect data quickly.
    • Likert Scales: Used to gauge attitudes or opinions about various aspects of the system.

    Advantages:

    • Efficient for gathering input from a large group of stakeholders.
    • Can provide both quantitative and qualitative data.

    Challenges:

    • Limited depth of response.
    • Respondents may not provide thoughtful or accurate answers if the questions are unclear.

    2.4 Observation

    Observation involves directly observing stakeholders as they use an existing system or perform their daily tasks to understand their needs. This is particularly useful when gathering implicit requirements, or when users may not be able to articulate their needs fully.

    • Shadowing: Observing a user while they perform their tasks, asking them to explain their actions as they work.
    • Ethnographic Study: A more immersive approach where the elicitor spends time in the user's environment, observing and understanding their work context and practices.

    Advantages:

    • Provides insights into real-world system use and behavior.
    • Helps uncover implicit needs and unspoken requirements.

    Challenges:

    • Requires time to gather detailed observations.
    • Can be difficult to capture all relevant data without disrupting the user’s normal workflow.

    2.5 Prototyping

    Prototyping involves building a working model (prototype) of the system, which allows stakeholders to interact with it and provide feedback. This can be particularly useful when functional requirements are unclear or when stakeholders find it difficult to articulate their needs without seeing a tangible system.

    • Throwaway Prototyping: A quick prototype built to understand user needs, which is discarded once the requirements are understood.
    • Evolutionary Prototyping: Prototypes that evolve over time as feedback is gathered and integrated into the system.

    Advantages:

    • Helps stakeholders visualize and refine requirements early in the process.
    • Can reveal hidden needs and areas of misunderstanding.

    Challenges:

    • Time-consuming to create and iterate on prototypes.
    • Can lead to scope creep if prototypes are not managed well.

    2.6 Use Cases and User Stories

    Use Cases and User Stories are methods for capturing functional requirements from the user's perspective.

    • Use Cases: Detailed descriptions of how users interact with the system to achieve specific goals. Use cases describe the system’s behavior in various scenarios and help clarify functional requirements.
    • User Stories: Short, simple descriptions of a feature from the user’s point of view, typically used in agile development to describe the user’s needs and the system’s functionality in a concise way.

    Advantages:

    • Provide clear and detailed descriptions of system functionality.
    • Focus on user goals, which helps to align development with user needs.

    Challenges:

    • Writing comprehensive use cases can be time-consuming.
    • User stories can sometimes be too vague if not written carefully.

    2.7 Brainstorming

    Brainstorming is a creative technique in which a group of stakeholders generates ideas and requirements in an unstructured manner, often using a facilitator to guide the discussion. After brainstorming, the ideas are categorized, analyzed, and refined.

    Advantages:

    • Can generate a wide variety of ideas and solutions.
    • Encourages participation from all stakeholders.

    Challenges:

    • Can result in unrealistic or impractical ideas.
    • Needs skilled facilitation to avoid tangents or unproductive discussions.

    2.8 Document Analysis

    Document analysis involves reviewing existing documents (e.g., business plans, process flows, previous system designs) to extract relevant information and derive requirements. This is useful when the system is a replacement or enhancement of an existing one.

    Advantages:

    • Provides insights into existing workflows and systems.
    • Helps understand legacy system constraints and user expectations.

    Challenges:

    • The documentation may be outdated or incomplete.
    • It may not capture new business needs or technological opportunities.

    3. Conclusion

    Requirement elicitation is a crucial phase in the requirements engineering process. Identifying the right elicitation sources and employing appropriate elicitation techniques ensures that you capture accurate, complete, and feasible requirements. A successful elicitation process requires a balance of methods and approaches, clear communication, and a solid understanding of stakeholder needs and business goals. By using a combination of interviews, workshops, observation, prototyping, and other techniques, software teams can gather the

    Previous topic 16
    Requirement Elicitation
    Next topic 18
    Requirement Specification and Documentation

    Past Papers

    Open this section to load past papers

    Click on Show Past Papers to see past papers.
    On This Page
      Reading Stats
      Est. reading time9 min
      Word count1,496
      Code examples0
      DifficultyIntermediate