26
1 BTS330 Requirements Gathering Review

1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Embed Size (px)

Citation preview

Page 1: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

1

BTS330

Requirements Gathering Review

Page 2: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

What are requirements? It depends who you ask… Requirements try to describe the

whole system you are creating. You need to decide on a definition

with all project stakeholders…your requirements document will be based on that definition.

Page 3: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

What are requirements? Intersection of interests of

stakeholders: Customers (acquire the software) Users Analysts, developers, testers Legal staff And so on…

Page 4: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Why requirements? Foundation for the software

system Define them well terrific product,

happy customers/stakeholders Define them poorly disaster

Page 5: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Levels of Requirements Business

Organizationvision/scope User use cases Functional software specs (not

BTS330)

Page 6: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Levels of Requirements Nonfunctional

Business rules Quality attributes External interfaces Constraints And so on…

Page 7: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Requirements Development Cycle

Elicitation Analysis

Specification

Validation

Clarify

Correct and close gaps

Rewrite

Re-evaluate

Text, p. 59

Page 8: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Development and Management Manage Requirements

Define baseline—SCOPE Manage changes (**NOT EASY) Manage project activity Manage project plan

Page 9: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Why are there problems? Detailed requirements are

difficult!!! “…no other part of the work so

cripples the resulting system if they’re wrong. No other part is more difficult to rectify later.” (text, p. 15)

Page 10: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Cost of Correcting Requirements

Requirements

Design Code Test Operation

20

40

60

80

100

120

Relative Cost

Source: Text, p. 17

Page 11: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Common Problems Insufficient user involvement Scope creep Ambiguous requirements “Paper Napkin” syndrome Overlooked users Inaccurate planning (bad

promises)

Page 12: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

The Pain Curve

Pain

Time

GoodRequirements

PoorRequirements

Page 13: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Collaborating with Customers/Stakeholders Take responsibility for ensuring

understanding Be respectful Give honest/correct information

Page 14: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

The Sign-off Myth Signing off requirements

is NOT a weapon but a milestone establishes a baseline provides the basis for change

management

Page 15: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Process (Iterative!)1. Define Vision/Scope2. Identify users/stakeholders: classes, reps,

decision makers 3. Select elicitation techniques4. Identify, prioritize and develop use cases

Some modeling here (e.g. user interfaces)

Includes business rules …and so on

Page 16: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Hearing Requirements Use domain vocabulary, not

“techtalk” Provide glossary to explain terms

across project participants Discussing possibilities IS NOT a

commitment Stakeholdersfocus and prioritize

“blue sky” wish

Page 17: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Hearing Requirements Ask the right questions

Open ended “Describe…” “Explain…

Task/Job Descriptions “What tasks…”

Suggestions, Exceptions “What else could…” “What things annoy you…”

Page 18: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Categorizing What You Hear Vision/Scope Document

Business requirements Use Case Document

Use cases/scenarios User needs to <do something>

Business rules Must conform to/comply with some

policy/formula

Page 19: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Categorizing What You Hear Software Specification

Functional requirements Quality attributes External Interface Requirements Constraints

Page 20: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Getting It All Get enough detail to eliminate

fuzziness All users? Full Coverage?

E.g. “life of an order” Diagrams/Charts

Page 21: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

When are you done? Hearing “nothing new” Hearing only things outside of

scope or release Hearing low priority

Page 22: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Use Cases A very rough description:

You describe what the users need to do (how they use the system)

Each of these major system “usages” is a use case

Help in understanding the requirements of the system

Page 23: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Use Cases “A sequence of interactions

between a system and an external actor”

Accomplishes a “useful” goal; something “of value”

Use cases encompass all system functionality (sort of).

Page 24: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Actor A person, software system,

department, role, device…etc…. outside of the system that interacts with the system

ActorUse Case

Page 25: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Use Case Diagram

Register Customer

Rent Video

Bank

Clerk

Return Video

ActorAssociation System Boundary

Use Case

Page 26: 1 BTS330 Requirements Gathering Review. What are requirements? It depends who you ask… Requirements try to describe the whole system you are creating

Documenting Requirements in BTS330 Requirements Document as per a

given template (posted to the bts330 site)