🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Understanding Requirement Gathering 01.pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

Understanding Requirement Gathering Dulanjali Wijesekara Faculty of Computing NSBM Green University Town Requirement Gathering Requirement gathering is the process of collecting and defining the exact needs and expectations for a new or modifi...

Understanding Requirement Gathering Dulanjali Wijesekara Faculty of Computing NSBM Green University Town Requirement Gathering Requirement gathering is the process of collecting and defining the exact needs and expectations for a new or modified system from various stakeholders. It involves understanding and documenting what the system must do and the constraints under which it must operate. Serves as the foundation for the SDLC, guiding the planning, analysis, design, implementation, and maintenance phases. Requirement Gathering cont’d Ensures that the development process is aligned with the user's needs and business objectives from the outset, reducing the risk of project overruns and failed systems. Increases the likelihood of project success by ensuring that the final product meets the intended use and user satisfaction. Prevents costly reworks and modifications by identifying potential issues and stakeholder needs early in the development process. Importance of Requirement Gathering Aligns System with Business Goals. Reduces Development Errors identifying potential issues and ambiguities early reducing the likelihood of errors, omissions, and the need for costly post-development fixes. Ensures Stakeholder Satisfaction Types of Requirements Functional Requirements Specify what the system should do, focusing on tasks, behaviors, and interactions. They describe specific functions or features from an end-user perspective. Non-Functional Requirements Define how the system performs certain operations, not just what operations it performs. They include criteria like system performance, security, usability, and reliability, often shaping the system's architecture and user experience. Examples Functional Requirements: Detailed descriptions of services, features, or tasks the system must perform. Examples include user authentication, data processing, and generating reports. Non-Functional Requirements: Qualitative aspects of the system, often referred to as the 'ilities' (usability, reliability, scalability, etc.). Examples include response time under certain conditions, data integrity, and transaction throughput. Functional Requirements Functional requirements define the specific behavior or functions of the system from an end-user perspective. They describe what the system should do in terms of tasks, operations, and activities. Examples include: User login and authentication process. Creating, editing, and deleting user profiles. Generating and exporting reports. Business Rules Business rules are specific conditions or constraints that dictate how business processes should be conducted within the system. They form a critical part of functional requirements. Examples include: A user must have an administrator role to approve transactions. Discount rates apply only to VIP customers during sales events. Tasks, Data Processing Tasks refer to the activities that users can perform with the system, often detailed as part of use cases or user stories. Data processing involves how the system handles input data to produce output or perform calculations. Examples include: Processing online orders and updating inventory levels. Calculating monthly expenses and generating financial summaries. Non-Functional Requirements Non-functional requirements specify how the system performs certain tasks and operations, rather than the tasks themselves. They outline the quality attributes, system performance, and operational characteristics. Examples include: The system should load the user dashboard within 2 seconds. The application must support concurrent usage by up to 1,000 users. Identifying Stakeholders Stakeholders are individuals, groups, or organizations that have an interest in, or are affected by, the outcome of a project, system, or process. They can influence or be influenced by the project's execution and results. Methods to Identify Stakeholders Stakeholder Analysis A systematic process to identify individuals or groups based on their level of interest and influence over the project. This can involve creating a stakeholder matrix to categorize them. Brainstorming Sessions Review of Project Documentation Interviews and Surveys Organizational Charts identify key decision-makers and departments affected by the project. Stakeholder Matrix Understanding Stakeholder Needs INTERVIEWS SURVEYS AND WORKSHOPS USER STORIES OBSERVATION QUESTIONNAIRES AND PERSONAS AND SHADOWING DOCUMENT ANALYSIS:. Interviews A qualitative method involving direct dialogue with stakeholders to gather in-depth insights into their needs, preferences, and experiences. When and How to Use It Best used in the early stages of requirement gathering to explore complex issues and obtain detailed information. Prepare a set of open-ended questions to facilitate discussion. Advantages and Considerations ? Surveys/Questionnaires A method to collect information from a large group of people using a structured set of questions, either open-ended or closed. When and How to Use It: Suitable for gathering quantitative data or when the stakeholder group is too large for individual interviews. Design questions that are clear and concise. Advantages and Considerations ? Workshops Interactive sessions that bring together various stakeholders to discuss, ideate, and agree on requirements through collaborative exercises. When and How to Use It: Ideal for consolidating diverse viewpoints and achieving consensus on complex requirements. Plan activities that encourage participation and engagement. Advantages and Considerations: Facilitates collaboration and consensus-building. Requires careful planning and an experienced facilitator to manage dynamics and ensure productive outcomes. Observation Involves watching stakeholders use the current system or perform their tasks to identify unarticulated needs and issues. When and How to Use It: Useful for understanding real-world application and context, especially when stakeholders might struggle to articulate their needs. Conduct observations unobtrusively and in various conditions. Advantages and Considerations: Provides insights into actual usage patterns and challenges. Time-intensive and may not capture infrequent issues. Document Analysis The process of reviewing existing documentation, such as business plans, user manuals, and contracts, to identify system requirements and constraints. When and How to Use It: Effective for understanding the documented processes and requirements, and for identifying gaps in current documentation. Requires access to relevant and up-to-date documents. Advantages and Considerations: Leverages existing resources and can uncover implicit requirements. However, documents may be outdated or incomplete, leading to gaps in understanding. Elicitation Challenges Vague or Incomplete Requirements Conflicting Requirements Changing Requirements Accessibility of Stakeholders Understanding Technical Limitations Examples Vague Requirements - A stakeholder requests a "user-friendly" interface without specifying what that means for different user groups. Conflicting Requirements - The marketing department wants an open customer forum feature, while the security team is concerned about data privacy and compliance issues. Changing Requirements - Midway through development, a stakeholder decides to add a new feature that significantly alters the project's scope. Accessibility of Stakeholders - Key decision-makers are frequently traveling, delaying critical feedback and decisions. Understanding Technical Limitations - Stakeholders request a feature that is incompatible with the existing system architecture or technology stack. Overcoming Elicitation Challenges Clarifying and Documenting Requirements Use structured formats like user stories or use cases Stakeholder Engagement Strategies Employ regular check-ins, workshops, and feedback sessions Managing Scope and Changes Technical Feasibility Analysis Prioritization of Requirements Use methods like MoSCoW (Must have, Should have, Could have, Won't have) Overcoming Elicitation Challenges Active Listening Transparent Conflict Resolution Documentation and Empathy Communication Techniques and Sign-off Documenting Requirements Provides a clear, tangible reference that ensures all stakeholders have a mutual understanding of the system requirements. Facilitates communication among team members, reducing misunderstandings and errors. Serves as a foundational part of the project's documentation, aiding in project planning, design, implementation, and testing. Enables effective change management by documenting the evolution of requirements over the project lifecycle. Formats for Documenting Use Cases Describe interactions between users and the system, detailing the steps involved in completing a specific task or function. Use cases help in understanding the system's behavior from an end-user perspective. User Stories Provide brief, simple descriptions of a feature from the perspective of the end-user. User stories are typically written in everyday language and are used to foster understanding of the user's needs. Functional Specifications Detailed documents that outline the functionality, data, and behavior the system must support, often including diagrams and models to illustrate complex processes. Requirement Specification Documents (RSDs) User Story 1 As a customer, I want to create an account so that I can save my preferences and order history. Acceptance Criteria: 1.User can create an account using an email address and password. 2.User receives a confirmation email after successful account creation. 3.User is able to log in using their email and password. User Story 2 As a customer, I want to browse books by category so that I can easily find the genre I am interested in. Acceptance Criteria: 1.Categories are displayed on the homepage. 2.User can click on a category to view books in that category. 3.The system displays a list of books in the selected category. User persona template Basic Information Demographics Psychographics Name: [Full Name] Education Level: [High School, Personality Traits: Age: [Age] Bachelor's, Master's, Ph.D., etc.] [E.g., Introverted/Extroverted, Gender: [Gender] Income Level: [$XX,XXX - Analytical, Creative, etc.] Occupation: [Job Title] $XX,XXX per year] Values and Beliefs: Marital Status: Cultural Background: [E.g., Sustainability, Family, [Single/Married/etc.] [Cultural/Ethnic background] Innovation, etc.] Location: [City, State, Country] Hobbies and Interests: [E.g., Reading, Hiking, Technology, Cooking, etc.] Lifestyle: [E.g., Busy professional, Health-conscious, Tech-savvy, etc.] Cont’d… Goals and Motivations Challenges and Pain Points Technology Usage Primary Goals: Challenges: Preferred Devices: [E.g., Career advancement, [E.g., Balancing work and family, [E.g., Smartphone, Tablet, Laptop, Learning new skills, Work-life Keeping up with technology, etc.] Desktop, etc.] balance, etc.] Pain Points: Frequently Used Software/Apps: Secondary Goals: [E.g., Lack of time, Limited [E.g., Microsoft Office, Slack, [E.g., Networking, Personal resources, Complexity of tasks, Social Media platforms, etc.] development, Financial security, etc.] Tech-Savviness: etc.] [E.g., Beginner, Intermediate, Motivations: Advanced] [E.g., Recognition, Achievement, Stability, etc.] Cont’d… Behavioral Traits Quotes and Anecdotes User Journey Shopping Preferences: Favorite Quote: Typical Day: [E.g., Online shopping, In- ["E.g., ‘The only way to do [Describe a typical day in store shopping, Brand great work is to love what the persona’s life, focusing loyalty, etc.] you do.’ - Steve Jobs"] on relevant activities and Information Sources: Anecdote: routines] [E.g., Social media, News [A short story or Customer Journey Map: websites, Peer experience that highlights [Outline the steps the recommendations, etc.] the persona’s character] persona takes from Decision-Making Process: recognizing a need to [E.g., Data-driven, fulfilling it] Impulsive, Consults with others, etc.] Requirements Validation and Verification Ensuring Completeness and Accuracy Validation Techniques - requirements reviews, prototyping, and model simulation. Consistency Checks - Regularly review requirements Traceability - traceability matrix to ensure every requirement can be traced Stakeholder Review and Approval Stakeholder Workshops - Organize review sessions with stakeholders Formal Sign-off Process Feedback Loops Managing Requirement Changes Handling Changes in Requirements Recognize that changes are inevitable and plan for them from the start. Flexibility in the development process is key to accommodating changes without derailing the project. Establish clear criteria for evaluating the impact of proposed changes on the project scope, timeline, and budget. Engage relevant stakeholders in the decision-making process to ensure that changes are aligned with business objectives and stakeholder needs. Managing changes… Change Management Processes Change Request Procedure Implement a formal procedure for submitting, tracking, and evaluating change requests. standardized form that captures the nature of the change, rationale, expected impact. Impact Analysis understand its implications on the project, including technical feasibility, resource requirements, and potential risks. Approval and Implementation Ensure that changes are approved Update project documentation and communicate changes to all affected parties. Review and Adaptation Tools for Requirement Gathering Modern requirement gathering processes are supported by a variety of tools that help in documenting, managing, and communicating requirements more efficiently. These tools can range from simple document management systems to complex platforms that support collaboration, traceability, and integration with other project management and development tools. Examples: JIRA & Confluence (Atlassian) Trello Microsoft Azure DevOps Slack Balsamiq - wireframing Best Practices in Requirement Gathering Engage All Relevant Stakeholders Use a Variety of Elicitation Techniques. Prioritize and Manage Scope Ensure Clear Documentation Validate and Verify Requirements Foster Open Communication Adapt and Be Flexible Train and Educate the Team. Conclusion Effective requirement gathering is foundational to project success, ensuring that the final product meets stakeholder needs and business objectives. It minimizes risks of project failure by clarifying expectations, preventing scope creep, and reducing the need for costly reworks. Engaging stakeholders and employing best practices in requirement gathering fosters collaboration, enhances project clarity, and supports informed decision- making throughout the project lifecycle.

Use Quizgecko on...
Browser
Browser