requirements cs121 spring 2010. administrivia new student: guillermo artist: jackie wijaya
TRANSCRIPT
![Page 1: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/1.jpg)
Requirements
CS121
Spring 2010
![Page 2: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/2.jpg)
Administrivia
• new student: Guillermo
• artist: Jackie Wijaya
![Page 3: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/3.jpg)
![Page 4: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/4.jpg)
Requirements
“What does the customer actually want?”
![Page 5: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/5.jpg)
Types of Requirements: FURPS+
• Functional: features, capabilities
• Usability: human factors, aesthetics, consistency, documentation
• Reliability: frequency of failure, recoverability, predictability
• Performance: response times, throughput, accuracy, availability, resource usage
• Supportability: adaptability, maintainability, configurability
• +: others
![Page 6: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/6.jpg)
Why are requirements so important?
• We need to know what we are supposed to build before we can build it.
• Failures at this stage are costly.
duh
![Page 7: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/7.jpg)
when problem is found
requirements design construction
requirements 1x
design 3x 1x
construction 5-10x 10x 1x
system test 10x 15x 10x
post ship 10-100x 25-100x 10-25x
when problem is introduced
![Page 8: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/8.jpg)
Why are requirements so important?
• We need to know what we are supposed to build before we can build it.
• Failures at this stage are costly.
• Failures at this stage are common.
duh
![Page 9: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/9.jpg)
Most errors found by users in software are the result of
A. coding errors
B. errors in requirements
C. system integration errors
D. errors in the design of the solution
Answer: B“Software’s Chronic Crisis”
![Page 10: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/10.jpg)
Why are requirements so difficult to specify?
• Customer’s can’t tell you what they want
![Page 11: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/11.jpg)
Why are requirements so difficult to specify?
• Customer’s can’t tell you what they want– they don’t know– they don’t clearly articulate their needs
![Page 12: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/12.jpg)
Why are requirements so difficult to specify?
• Customer’s can’t tell you what they need– they don’t know– they don’t clearly articulate their needs
• Customer’s have conflicting needs
![Page 13: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/13.jpg)
You must control at least one parameter!
Cost
Quality Time
Customer: I want the best RPG ever
Customer: I want to pay $500 for its development
Developer: It will be finishedwhen hell freezes over.
![Page 14: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/14.jpg)
Why are requirements so difficult to specify?
• Customer’s can’t tell you what they need– they don’t know– they don’t clearly articulate their needs
• Customer’s have conflicting needs
• Customer’s needs change
![Page 15: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/15.jpg)
Growth in requirements
0
10
20
30
40
50
60
10 100 1000 10000 100000
Project Size in Function Points
Cre
epin
g R
eq's
as
% o
f O
rig
Source: Applied Software Measurement, Capers Jones, 1997. Based on 6,700 systems.
% in
cre
as
e in
re
qu
irem
en
ts
du
rin
g p
roje
ct
life
![Page 16: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/16.jpg)
Why are requirements so difficult to specify?
• Customer’s can’t tell you what they need– they don’t know– they don’t clearly articulate their needs
• Customer’s have conflicting needs
• Customer’s needs change
• Technology changes
![Page 17: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/17.jpg)
Developing requirements: Best Practices
![Page 18: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/18.jpg)
Developing Requirements
• Inception: – define initial concept– identify stakeholders
![Page 19: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/19.jpg)
Developing requirements
Software Engineer
Management
Marketing
Users
…
stakeholders
![Page 20: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/20.jpg)
Developing requirements for games
Game Designer
Management
Marketing
Users
…
Software engineers
![Page 21: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/21.jpg)
Developing Requirements
• Inception: – define initial concept– identify stakeholders– gather background information: competitive
analysis, technology review, etc.– identify “perceived requirements“
![Page 22: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/22.jpg)
Developing Requirements
• Inception
• Elicitation: Ask the customer what they want
![Page 23: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/23.jpg)
Requirements Elicitation
I want you to build a game ...
software engineercustomer/stakeholder
![Page 24: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/24.jpg)
I want an RPG better than
anything seen before!
software engineer
Requirements Elicitation
customer/stakeholder
![Page 25: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/25.jpg)
Ok ... off you go!
Call me when its done.
customer/stakeholder software engineer
Requirements Elicitation
![Page 26: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/26.jpg)
Requirements
• Inception
• Elicitation: What do customer say they want?
• Analysis: What does the customer really want?
![Page 27: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/27.jpg)
OK here is my idea for the
game. What do you think?
customer/stakeholder software engineer
Requirements Analysis
![Page 28: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/28.jpg)
Great! Can I have it next week?
customer/stakeholder software engineer
Requirements Analysis
![Page 29: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/29.jpg)
Requirements
• Inception
• Elicitation: What does the customer say they want?
• Analysis: What does the customer really want? What can you realistically provide?
![Page 30: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/30.jpg)
Feasibility: Can we meet the constraints?
Cost
Quality Time
![Page 31: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/31.jpg)
Feasibility
• Understand the proposed system
• Understand the capabilities of your team and tools
• Explore gaps (or risks)
![Page 32: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/32.jpg)
Requirements
• Inception
• Elicitation: What does the customer say they want?
• Analysis: What does the customer really want? What can you realistically provide?
Software Requirements Specification (SRS)
![Page 33: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/33.jpg)
Waterfall Model
Requirements
Design
Implementation
Test
with feedback
SRS
![Page 34: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/34.jpg)
Agile requirementsProject inception: • Identify high level scope• Key requirements• Initial “goal stack”
highest priority, best modeled goals
lowest priority, least modeled goals
Well modeled means we understand what to doand how long it will take.
![Page 35: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/35.jpg)
Agile requirementsAt the start of each iteration: • Incorporate new goals (often produced by last iteration)• Remove items no longer needed• Reprioritize• Clarify requirements for goals at top of stack• Plan iteration
highest priority, best modeled goal
lowest priority, least modeled goal
Who prioritizes?Customer driven Risk driven
![Page 36: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/36.jpg)
Requirement Quality
• Specify what not how• Unambiguous• Testable• Feasible• Consistent• Prioritized• Traceable• Agreed upon by customer
![Page 37: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/37.jpg)
Next time: elicitation demonstration
• Meet the customer
• 1 team will do and in-class elicitations
• other teams will do their elicitation wed. after class (or if need be thursday morning)
![Page 38: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/38.jpg)
Prior to Elicitation
• Prepare short (2-4 slide) concept presentation
• List of “perceived” requirements and questions to clarify them
• Open ended questions to better understand needs
![Page 39: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/39.jpg)
Elicitation format
• Introduce yourselves and provide agenda• Give your (2-4 slide) concept presentation• Start with open-ended information gathering
This is where you’ll discoverissues you haven’t thought of
on your own.
![Page 40: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/40.jpg)
Elicitation format
• Introduce yourselves and provide agenda• Give your (2-4 slide) concept presentation• Start with open-ended information gathering• Follow up on new issues raised• Discuss “perceived” requirements
Based on your background research you should have some reqs in mind
before the meeting starts.
![Page 41: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/41.jpg)
Elicitation format
• Introduce yourselves and provide agenda• Give your (2-4 slide) concept presentation• Start with open-ended information gathering• Follow up on new issues raised• Discuss “perceived” requirements• Discuss priorities• Present a summary of key points and give him
an opportunity to confirm/correct• Thank him
![Page 42: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/42.jpg)
Elicitation roles
• Moderator: Leads the meeting, discussion
• Scribe: Takes notes
• Others– Distill discussion for final summary– Keep track of points that need clarification– Keep track of pre-determined requirements
that need validation– Watch clock, agenda
![Page 43: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/43.jpg)
Elicitation Report
• When, where, and who
• Summarize discussion
• New requirements
• Validation of prior requirements
• Priority of requirements
• Any other interesting information
![Page 44: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/44.jpg)
Sample questions
• Why are requirements so important?• Why are they so difficult to specify?• What are the various types of requirements?• What are the first steps of requirements gathering?• What is a customer elicitation?• What is involved in requirements analysis?• What is an SRS?• What constitutes quality in requirements?• How are requirements managed in agile processes?
![Page 45: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/45.jpg)
Assignment for next time
• Prep for elicitation– concept presentation– open ended questions– perceived reqs and questions to clarify– roles assigned to team members
![Page 46: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya](https://reader035.vdocuments.net/reader035/viewer/2022062803/56649f515503460f94c753fe/html5/thumbnails/46.jpg)
Scheduling of elicitations
• In-class
• After-class