Professional Documents
Culture Documents
$
It is VERY expensive to fix problems late in the process. It
is very cheap to rewrite or clarify a written spec.
2
Starter Questions
What is a "requirement"?
3
Types of Requirements
Functional
ex - it must email the sales manager when an inventory
item is "low"
Non-Functional
ex - it must require less than one hour to run
Explicit
ex required features
Implied
ex software quality
Forgotten
ex exists in current process
Unimagined
4
Questions
What makes a particular
requirement good or bad?
5
Requirements of Requirements
Clear
Measurable
Feasible
Necessary
Prioritized
Concise
6
Req Gathering Problems
Accommodating changing reqs
Being complete, without being constraining
Conflicting views
Ease of omitting obvious info
Identifying the experts and getting
authority to talk to people
Incomplete understanding of the problem
on the part of the user/customer
Sticking with what and not how
Determining what is critical
Avoiding mission creep 7
Requirements WILL Change
8
Requirements Engineering Tasks
1. Inception
2. Elicitation
3. Elaboration
4. Negotiation
5. Specification
6. Validation
7. Management
Nature of solution
Example Questions:
Who is behind the request for work?
Who will use the solution?
What will be the economic benefit of success?
Is there another source for the solution? 10
Elicitation Methods
Interviews
Use Cases
Formal Requirement Engineering
Techniques
11
Elicitation via Interviews
12
Elicitation via Interviews
Difficulties:
Ill-defined project scope
Unnecessary details that confuse
Not sure what they need
Poor understanding of capabilities
Omitting the obvious
Requirements that conflict with other
peoples requirements
Requirements Change!!!
13
Elicitation via Interviews
Recommended Practices:
The list of involved stakeholders must be
broad!!!
Be sure to use real end-users.
Use agendas that cover the important points yet
encourage flow of ideas
Ahead of time, the participants should build a
partial list of the functions, performance criteria,
environment factors,
Start with scope and context, move to functions
Use visuals such as wall-stickers, flip-charts,
Meetings with stakeholders should include the
SwEngs
14
Elicitation via Use Cases
Diagrams composed of Actors and Actions
Logout
Anonymous
User
Registered
Create Account
User
Manage Account
Credit Card
System
15
Elicitation via JAD
Joint Application Design
JAD Sessions Participants:
Executive Sponsor
Project Leader
Facilitator trained and experienced
Recorder
Participants
Observers developers who sit on sideline and dont talk
Outputs of sessions:
Data flow diagrams
Data requirements
List of assumptions
etc
16
Elicitation via QFD
Since 1966, Quality Function Deployment (QFD) has been used world wide
in nearly every industry and sector to:
1. Prioritize spoken and unspoken customer wows, wants, and needs;
2. Translate these needs into actions and designs such as technical
characteristics and specifications; and
3. Build and deliver a quality product or service by focusing various business
functions toward achieving a common goal and customer satisfaction.
www.qfdi.org
17
Elaboration
http://www.camsp.com/cornerstone/assets/images/resources/when_use_maps_sm.png
Goal is to create a model that defines:
1. information
2. functions
Models could be
ER Diagrams
Use Cases
Data Flow Diagrams
all of the above
18
Negotiation
Goal is to resolve requirements that are
Conflicting
Costly
Unrealistic
19
Specification and Validation
Specification yields the SRS
Format of SRS is our next class
20
Review of Tonight
Requirements Engineering Tasks
1. Inception
2. Elicitation
3. Elaboration
4. Negotiation
5. Specification
6. Validation
7. Management
21