What's the objective of requirements gathering? How is it done?
Objective: Define the system inputs, processes, outputs, and interfaces.
It establishes communication between the project team and the business stakeholders.
List the stakeholder types
- System user interacts with the solution and a
- System owner (who can also be a user) is an official who is responsible for decisions made about systems within their organization. In this unit, we will refer to these roles as stakeholders.
Requirements gathering process steps (5)
Gather information steps
- Identify the stakeholders within the business
- Then the business analyst will elicit information to determine what the solution should do to meet the defined business and analytic objectives
Who's responsinble for Defining and Prioritizing Requirements?
It is the job of the business analyst to lead the effort in defining and prioritizing requirements
What's a requirements management plan?
can be used to document the requirements gathering process. This document is made available to the client and the project team as it contains information that affects both parties.
What sections should be included in a requirements management plan?
There is no standard template for this document but it is in good practice to include the following sections:
Project description is an overview of your project, this section describes the purpose of your project.
Team Responsibilities are defined in this plan to designate who will be involved in managing activities during the requirements gathering process. Data science project team members might take on duties outside of their normal roles e.g. a data analyst on the data science team might serve in the role of Scribe during joint application development sessions.
Tools used to manage the requirements include project management tools, and word processing or other dedicated systems used to capture, manage, and track requirements through the requirements gathering process and throughout the project lifecycle.
Requirements Gathering Process should be defined in this plan. This section will describe the techniques used in eliciting user and system needs, defining the requirements, and evaluating the success of the requirements gathering process (these techniques are covered later in this unit).
When does a requirement become useful to the solution development process?
when they have been converted into specifications.
What are the characteristics of a good requirement? (5)
Traceable - This refers to tracking the life cycle of a requirement from its development to its specification and deployment in various versions of the solution.
Unambiguous - Unambiguous requirements must have defined acceptance criteria, metrics for success, expected outcomes, and acceptable values.
Verifiable - Testers can verify it's implemented correctly.
A traceable requirement is important because:
It will describe the life of a requirement from its development to its specification and deployment.
What are the types of requirements?
- Business Requirements
System and User Requirements - Once business requirements are defined, stakeholders and systems that support the business requirement(s) are identified.
- Solution Requirements
What's done with business requirements?
They are collected and decomposed to define other types of requirements.
What are system requirements?
System requirements are a detailed description of the system and its operational and development constraints; this includes the system software that will support the solution, processing, memory, and other application software considerations.
What are user requirements?
describe functions or tasks that a user must perform within the system. These tasks will support the business objectives that are defined prior to the requirements gathering process.
Use cases and user stories represent user requirements and provide a big picture of what the user will be able to do within a system.
What's the difference between the requirements of a traditional IT project and those of a data science project?
The focus on the requirements for the analytic solution.
Describe Functional requirements
They define the functions of a system and how users will interact with the system. Functional requirements are derived from the user and system requirements that are needed to satisfy the business requirements; in essence, defining the right business requirements will result in useful functional requirements that can be used to develop the proposed system.
They are organized by priority
What are goals?
The interactions between the system and the user.
Describe a use case specification
provides a textual description of a use case. As mentioned earlier, it will decompose a user requirement into functional requirements. The use case specification details the steps involved in a goal or action.
What are Non-Functional Requirements?
Non-functional requirements (NFR) describe the performance and behavior of a system. They are also referred to as operational requirements. The NFRs for a traditional IT project will describe the attributes of a system including the system's scalability, usability, maintainability, performance, reliability, availability, capacity, interoperability, and security.
A description of a task that a system will perform under specific conditions is called:
A functional requirement can be decomposed from a user requirement and:
What questions must be answered to determine the data requirements? (3)
- How can data be used to meet the business and analytic objectives?
- What data is needed for developing the analytic solution? Can the data be collected from credible sources?
- How can the data be prepared to visualize and answer relevant questions?
What's one thing subsumed by model transparency?
What's the difference between a traditional IT project and a Data Science project?
DS projects' focus on the analytical data, model, and operations requirements.
What's Requirements management?
An iterative set of activities to help ensure that elicitation, documentation, refinement and changes of requirements is done during the data science project life cycle.
What are solution requirements?
Solution requirements are grounded in software engineering, in this course, we will be tailoring solution requirements to the data science process. The solution requirements for a data science project are classified into functional, non-functional requirements, as well as requirements that consider parts of an analytic solution that are different from the traditional IT systems. The typical analytic solution will consider data and models (e.g. predictive models), a business intelligence solution will include requirements for reports and dashboards.