Business Requirements Analysis PDF

Summary

This document provides an overview of business requirements analysis for software development. It covers topics such as requirements gathering techniques, analysis, and technical specifications, along with the importance of the process. The document also presents techniques for gathering requirements and methods for prioritizing requirements.

Full Transcript

Lesson 10: WEB DEVELOPMENT BUSINESS REQUIREMENTS ANALYSIS TOPIC OUTLINE Requirements Gathering and Extraction Requirements Analysis Technical Specification Provisioning Techniques What is Requirements Gathering? Requirements gathering is a crucial phase in the s...

Lesson 10: WEB DEVELOPMENT BUSINESS REQUIREMENTS ANALYSIS TOPIC OUTLINE Requirements Gathering and Extraction Requirements Analysis Technical Specification Provisioning Techniques What is Requirements Gathering? Requirements gathering is a crucial phase in the software development life cycle (SDLC) and project management. It involves collecting, documenting, and managing the requirements that define the features and functionalities of a system or application. The success of a project often depends on the accuracy and completeness of the gathered requirements in software. THE PROCESSES OF REQUIREMENT GATHERING IN SOFTWARE DEVELOPMENT Stakeholder Identification: Objective: Identify all stakeholders who will be affected by the system, directly or indirectly. Process: Conduct interviews, surveys, or workshops to determine the key individuals or groups involved. Stakeholder Analysis: Objective: Understand the needs, expectations, and influence of each stakeholder. Process: Analyze stakeholder inputs to prioritize requirements and manage conflicting interests. Gathering Problem Definition: Subprocesses Objective: Clearly define the problems or opportunities that the software system aims to address. Process: Engage stakeholders in discussions to uncover and articulate the core problems or opportunities. Requirements Extraction: Objective: Gather detailed requirements by interacting with stakeholders. Process: Employ techniques such as interviews, surveys, observations, or brainstorming sessions to extract requirements. Requirements Documentation: Objective: Document gathered requirements in a structured format. Process: Create requirements documents, use cases, user stories, or prototypes to capture and communicate requirements effectively. Validation and Verification: Gathering Subprocesses Objective: Ensure that gathered requirements are accurate, complete, and consistent. Process: Conduct reviews, walkthroughs, or use validation tools to verify that the requirements meet the defined criteria. PROCESSES OF REQUIREMENTS GATHERING IN SOFTWARE DEVELOPMENT Step 1- Assigning roles: The first step is to identify and engage with all relevant stakeholders. Stakeholders can include end-users, clients, project managers, subject matter experts, and anyone else who has a vested interest in the software project. Understanding their perspectives is essential for capturing diverse requirements. Step 2- Define Project Scope: Clearly define the scope of the project by outlining its objectives, boundaries, and limitations. This step helps in establishing a common understanding of what the software is expected to achieve and what functionalities it should include. Step 3- Conduct Stakeholder Interviews: Schedule interviews with key stakeholders to gather information about their needs, preferences, and expectations. Through open- ended questions and discussions, aim to uncover both explicit and implicit requirements. These interviews provide valuable insights that contribute to a more holistic understanding of the project. Step 4- Document Requirements: Systematically document the gathered requirements. This documentation can take various forms, such as user stories, use cases, or formal specifications. Clearly articulate functional requirements (what the system should do) and non-functional requirements (qualities the system should have, such as performance or security). Step 5- Verify and Validate Requirements: Once the requirements are documented, it’s crucial to verify and validate them. Verification ensures that the requirements align with the stakeholders’ intentions, while validation ensures that the documented requirements will meet the project’s goals. This step often involves feedback loops and discussions with stakeholders to refine and clarify requirements. Step 6- Prioritize Requirements: Prioritize the requirements based on their importance to the project goals and constraints. This step helps in creating a roadmap for development, guiding the team on which features to prioritize. Prioritization is essential, especially when resources and time are limited. REQUIREMENT GATHERING TECHNIQUES REQUIREMENTS ANALYSIS WHAT IS REQUIREMENT ANALYSIS ? Software requirement analysis simply means complete study, analyzing, describing software requirements so that requirements that are genuine and needed can be fulfilled to solve problem. Problem Recognition : The main aim of requirement analysis is to fully understand main objective of requirement that includes why it is needed, does it add value to product, will it be beneficial, does it increase quality of the project, does it will have any other effect. All these points are fully recognized in problem recognition so that requirements that are essential can be fulfilled to solve business problems. Evaluation and Synthesis : Evaluation means judgement about something whether it is worth or not and synthesis means to create or form something. Here are some tasks are given that is important in the evaluation and synthesis of software requirement : To define all functions of software that necessary. To define all data objects that are present externally and are easily observable. To evaluate that flow of data is worth or not. To fully understand overall behavior of system that means overall working of system. To identify and discover constraints that are designed. To define and establish character of system interface to fully understand how system interacts with two or more components or with one another. Modeling : After complete gathering of information from above tasks, functional and behavioral models are established after checking function and behavior of system using a domain model that also known as the conceptual model. Specification : The software requirement specification (SRS) which means to specify the requirement whether it is functional or non-functional should be developed. Review : After developing the SRS, it must be reviewed to check whether it can be improved or not and must be refined to make it better AGILE METHODOLOGY WHAT IS AGILE METHODOLOGY? An Agile Software Development framework refers to a collection of practices and principles that guide the development, execution, and management of software development projects. Agile Software Development Methodology enhance collaboration, customer feedback, and quick iterations. Unlike other software development methods, Agile does not offer a solution; instead, it offers various frameworks customized to specific industries, project types, and team sizes. USER Agile uses user stories to capture feature requirements concisely, STORIES focusing on user goals and benefits. Example: “As a user, I want [action] so that [benefit].” BACKLOG Regularly reviews and prioritizes the product backlog, REQUIREMENT ensuring top-priority items are ready for the next sprint. ITERATIVE Refines requirements during time-boxed sprints, DEVELOPMENT allowing flexibility for changing priorities and new insights. CONTINUOUS Continuous feedback from stakeholders during STAKEHOLDER sprint reviews and planning refines and aligns COLLARABORATION requirements. PROTOTYPING AND Uses wireframes, prototypes, and visuals to clarify VISUAL AID requirements and align features with stakeholder expectations. HOW REQUIREMENTS GATHERING HELPS FOR AGILE METHODOLOGY DAILY Brief meetings align the team on progress and allow for quick STANDUP adjustments to emerging requirements. ACCEPTANCE Clearly defines completion conditions for user stories CRITERIA to ensure features meet stakeholder expectations. Reflects on the effectiveness of requirements RETROSPECTIVES gathering after each sprint, refining the approach for future cycles. HOW REQUIREMENTS GATHERING HELPS FOR AGILE METHODOLOGY CHALLENGES IN REQUIREMENTS GATHERING AND ANALYSIS CHANGING Frequent changes can pose challenges. It’s crucial to strike a balance PRIORITIES between flexibility and stability, ensuring that changes are well- understood, prioritized, and communicated effectively to the BALANCING development team. DETAIL AND Requires enough detail to guide development, but also FLEXIBILITY the flexibility to adapt as requirements evolve. EFFECTIVE Relies on communication and collaboration. Ensuring COMMUNICATION that all team members, including stakeholders, have open channels for communication. places a strong emphasis on continuous feedback, CONTINUOUS FEEDBACK but ensuring active stakeholder involvement can be challenging. CHALLENGES AND CONSIDERATIONS FOR REQUIREMENTS ANALYSIS SUPPORT TOOLS FOR REQUIREMENTS GATHERING AND ANALYSIS COLLABORATION TOOLS Project management platforms (e.g., Jira, Trello, Asana), facilitate teamwork and communication among project stakeholders. DOCUMENT MANAGEMENT TOOLS Document management tools (e.g., Confluence, SharePoint) help organize and store project documentation. SURVEY/ FORM TOOLS Tools like Google Forms, Typeform, or SurveyMonkey enable the creation of online surveys and forms. PROTOTYPING TOOLS Prototyping tools (e.g., Sketch, Balsamiq, Figma) allow the creation of visual or interactive prototypes MIND MAPPING TOOLS Mind mapping tools (e.g., MindMeister, XMind) help visualize and organize complex ideas and relationships. VERSION CONTROL TOOLS Version control systems (e.g., Git, SVN) are essential for managing changes to project documentation. MANAGEMENT SOFTWARE Specialized requirements management tools (e.g., IBM Engineering Requirements Management DOORS, Jama Connect) VISUAL TOOLS Visual collaboration tools (e.g., Miro, Lucidchart) facilitate collaborative diagramming and visual representation of ideas. IMPORTANCE OF REQUIREMENT GATHERING AND ANALYSIS WHY REQUIREMENT GATHERING IS IMPORTANT ✔ To clarify project objectives ✔ Customer Satisfaction ✔ Scope Definition ✔ Reduced miscommunication ✔ Risk Mitigation. WHY REQUIREMENT GATHERING IS IMPORTANT ✔ Cost Reduction ✔ improved communication ✔ Efficient Resource management ✔ Enhanced Quality ✔ Risk Management ✔ Accurate Planning TECHNICAL SPECIFICATIONS AND PROVISIONING WHAT ARE TECHNICAL SPECIFICATIONS? Technical Specification Along with the content and functional specifications, the technical specification is likely to be most in need of updating and require the most ongoing work to maintain. The technical specification contains details of the technical architecture, hardware and software, network environment, database schemas, languages and protocols used, file structures, templates, components, integration elements, and configuration details. Technical specifications outline detailed requirements for a system or product, specifying how it should be built and how it will function. They address various aspects, such as: Functional Requirements: What the system must do (e.g., allowing users to log in securely). Non-functional Requirements: Characteristics such as performance, scalability, reliability, and security. Hardware and Software Requirements: Infrastructure specifications like servers, operating systems, and programming languages TECHNICAL SPECIFICATIONS KEY COMPONENTS System Architecture: Describes the overall structure, including databases, servers, and application layers. Commonly uses diagrams such as UML or data flow charts for visualization Data Models: Details how data will be structured, stored, and accessed, including database schemas and relationships. Performance Metrics: Defines response times, load limits, and throughput expectations to ensure efficiency. Integration Requirements: Specifies APIs, third-party tools, or legacy systems that must interface with the new system Compliance and Security Standards: Includes adherence to laws like GDPR or technical safeguards like encryption protocols WHAT ARE PROVISIONING TECHNIQUES? Provisioning Techniques Provisioning involves setting up and configuring resources (hardware, software, or services) to meet the requirements defined in the technical specifications. It refers to the process of preparing and equipping a system for operation. It ensures that all necessary components are in place for the application or service to function as intended. WHAT ARE PROVISIONING TECHNIQUES? Infrastructure Provisioning: Setting up physical or cloud-based resources, such as servers, storage, and networking. Tools like AWS CloudFormation and Microsoft Azure are often used. Application Provisioning: Deploying and configuring software or application components on provisioned infrastructure. Includes defining dependencies, setting up middleware, and configuring runtime environments. User Provisioning: Assigning access and permissions to users within a system. Common in enterprise environments where role-based access control (RBAC) is implemented. REFERENCES https://www.geeksforgeeks.org/requirements-gathering-introduction-processes-benefits-and-tools/#what-is- requirements-gathering https://www.geeksforgeeks.org/agile-software-development-methodology-framework/?ref=oin_asr8 https://www.modernrequirements.com/blogs/requirements-gathering-techniques/ https://www.geeksforgeeks.org/activities-involved-in-software-requirement-analysis/?ref=header_outind https://www.sciencedirect.com/topics/computer-science/technical-specification

Use Quizgecko on...
Browser
Browser