Requirements Gathering and Capturing

Requirements Gathering and Capturing

Requirements Gathering and Capturing SENG 301 Learning Objectives By the end of this lecture, you should be able to:

- Discuss several techniques for gathering requirements - Identify functional vs. non-functional requirements - Discuss the distinction between functional vs. nonfunctional requirements - Explain why we need techniques to capture requirements - Understand how User Stories and Story Mapping works (you will practice this in tutorial)

Gathering Requirements You and the two people sitting next to you are on a team to develop a tool for post-secondary education that allows students in a class to ask and discuss questions about assignments with the professor. What methods would you employ to gather requirements for this

system? Techniques for Gathering Requirements Your goal is to understand the domain as best you can, typically with respect to the particular (focused) context. Interviews with stakeholders

Analysis of competing products (or previous versions) Observation of stakeholders at work (e.g. POS systems) Questionnaires and surveys Collection of process/procedure documents Wait, what are requirements? Things your system should do

Things your system should not do Features your system must provide Things your users will expect Functional Requirements Inputs the system should accept Outputs the system should produce

Data the system should store that other systems might use Computations the system should perform Timing and synchronization of the above (i.e. ordering of events) Functional vs. Non-functional

Requirements Functional requirements: What should the system do (independent of the implementation) Non-functional requirements: How does the system do the thing? E.g. quality attributes, or quality characteristics Example: - Functional requirement: A user should be able to scroll through the chat

history to examine the chat history. - Functional requirement: A user should be able to enter in query terms to search the chat history. - Non-functional requirement: Scrolling through the chat history should be smooth. - Non-functional requirement: A user should be able to find pertinent search terms within 1s.

Functional or non-functional? - A user should be able to request from the ATM withdrawals where the cash provides denominations of $10, $20, $50 or $100. - A withdrawal transaction from the ATM

should last no longer than 2 minutes. - The system should ensure that clients do not forget their debit cards. - A card and PIN must be entered before the user is able to withdraw cash from the ATM.

Non-functional requirements Response Time Throughput Resource usage Reliability Availability Failure recovery

Maintainability More non-functional requirements Modularity Testability Security Learnability

Usability Price Extensibility Reusability Just because nonfunctional requirements are hard to model, it does

not mean they are not important. Consider the transit ticket machine on the leftit likely fulfills all the major functional requirements, but is a usability

nightmare! Eliciting Non-Functional Requirements Performance Characteristics Are there any speed, throughput, or response time constraints on the system?

Are there size or capacity constraints on the data to be processed by the system? Security Issues Must access to any data or the system itself be controlled? Is physical security an issue?

User Interface and Human Factors What type of user will be using the system? Will more than one type of user be using the system? Is it particularly important that the system be easy to learn? How can these requirements be improved?

Work with a neighbour: (a) Whats wrong with each, and (b) How can it be improved? 1. The system shall validate and accept credit cards and cashiers checks. (High priority) 2. The system shall process all mouse clicks quickly to ensure users do not have to wait. 3. The user must have Adobe Acrobat installed.

Some notes about Requirements Functional requirements specify what the system should do, but these are (generally) independent of the implementation We retain requirements because they tell us when were done in some sensethey can also be used as part of

contracts Note: requirements can and do changesometimes, this is because the stakeholders change. Other times, it is because the stakeholders didnt know what they wanted until they saw something. Why do we need requirements

capture techniques? Shared Understanding >> Documentation User Stories & Story Mapping Invented and popularized by Jeff Patton (look for his webcasts!)

Basic idea: externalize understanding of system in digestible bits - Develop a story about how the system is used - Drill down into elements of this story to understand what different ways different parts of the story can be accomplished - Consider user journeys to understand what ought to be prioritized - Use the physicality of the story map to facilitate conversation

and understanding Story cards Story cards capture user goals Title should be a verb description Goal is written as As a {type of user}, I want to {perform some action} so I can {achieve a goal}

Examples of User Stories (for Vending Machine) As a customer, I want to insert coins to be able to pay for my item. As a customer, I want to select my item. As a customer, I want to know the cost of an item.

As a technician, I want to set the prices of items. As a technician, I want to open the machine to service it, without injuring anyone. Story Cards & Backlog User stories are arranged into a Backlog

set of all stories for a product sorted with highest-priority tasks at top Value

Story mapping Story maps add narrative structure to a backlog top-level: main features (high level goals) project backbone Story Maps Second level: activities or stories that are ordered to

complete the higher level goal This is known as a walking skeleton Story Maps The next layer down fleshes out different ways the same task can be accomplished, and these are ordered in priority from top to bottom

Release planning Learning Objectives By the end of this lecture, you should be able to: - Discuss several techniques for gathering requirements - Identify functional vs. non-functional requirements - Discuss the distinction between functional vs. nonfunctional requirements

- Explain why we need techniques to capture requirements - Understand how User Stories and Story Mapping works (you will practice this in tutorial)

Recently Viewed Presentations

  • High Point, North Carolina Opportunity Zone Prospectus A ...

    High Point, North Carolina Opportunity Zone Prospectus A ...

    High Point is a diverse, inclusive, growing, city of 114,000-in a county of 550,000 people (in a region of 1.7 million). High Point has a diversified economy, built on furniture, business services,manufacturing, healthcare, food, and logistics. Jobs created by High...
  • Cellular Respiration Foldable - MS. RAGO'S CLASS WEBSITE

    Cellular Respiration Foldable - MS. RAGO'S CLASS WEBSITE

    Chemical Formula. Overview of the Cell Respiration Process. 3 Stages of Cellular Respiration *Anaerobic Fermentation for Energy. Cellular Respiration: How Cells Harvest Energy
  • Skinner and Parents' Discipline of Children

    Skinner and Parents' Discipline of Children

    Skinner mainly considered the external but did acknowledge the interior. His main trouble with the interior was the tendency to treat thoughts as the causes of behavior.-Feelings: Skinner acknowledges the existence of emotions yet is of the opinion that feelings...
  • Greek Mythology - Effingham County School District

    Greek Mythology - Effingham County School District

    Hera. Personality- proud and quick-tempered goddess. Iris, the rainbow god was her loyal messenger. Title or Duty-Queen of the gods. Overmarriage; cares for married women. Symbol- The peacock. Punished Echo.
  • 4.3 The Ambiguous Case of the Sine/Cosine Law

    4.3 The Ambiguous Case of the Sine/Cosine Law

    Analyze the ambiguous case of the sine law, ... The word "Ambiguous" means something that can have more than one interpretation, More than one answer. Consider the Following. Martina and Carl are both holding a rope that attached to a...
  • The Laurier Era Foreign Policy 1896-1911

    The Laurier Era Foreign Policy 1896-1911

    The Laurier Era Canada 1896- 1914 Canada Profile - 1896-1911 Becomes a nation in 1867 Population in 1900 is approx. 5million Today it is approx. 35 million Population mostly French Catholic and English Protestant Population - Turn of the Century...
  • Abnormal Psychology and Therapy Project - WordPress.com

    Abnormal Psychology and Therapy Project - WordPress.com

    -Heinz Kohut, contemporary psychodynamic therapist. Humanistic Therapies-humanistic therapies: treatments, unique in their emphasis on people's self-healing capacities, that encourage clients to understand themselves and grow personally ... Abnormal Psychology and Therapy Project Last modified by:
  • Chapter 6

    Chapter 6

    Islam. Started very small. Muhammad was very respected so it helped to get his message out. So much fighting between tribes there was nothing to bring them together (unite them) They were Arab but it was not a unifying factor....