Title: Requirements Elicitation
1Requirements Elicitation
- Section Two
- Version 1.0
- Mordad 1383
2 ???? ??????
- ????? Elicitation ?? ????? ??? ?? ????? ??????
?????? ?????? - ????? ?????? ? ?????? Elicitation
- ????? ????????? ????? ????? Elicitation
- ???? ??? ????? ?????? ??? ?????? ?????? ???
??????? ??????? ? ?????? ????? ????? ?????? ?
?????? ?? ????? - ????? ???????? ???? ??????? ?? ????? Elicitation
- ????? ??????? ? ???????? ??????????? ???? ??????
????? ?????
3?????? ??????
- ??? ????? ???? ???? ???? ???? ???? ?? ??? ????
??? ???? ??????? ?? ??? ???? ????? ? ????? ?
?????? ??? ??? ?? ???? ???? ????? ?? ???? ???? ??
?????? ?? ???? ???????. ???? ????? ???? ???
?????? ?????? ?? ????? ????? ???? ???? ????
??????? ???? ????. - ?????? ???????? ?? ?? ???? ?? ???? ??? ???? ????
?? ????? ???? ?? ????? - ???? ??????? ????? ?????
- ?????? ?? ?? ?? ?? ??????? ?? ????? ???? ?? ????
????? - ??????????? ?? ?? ????? ?????? ???? ????? ?????
????? ????? - ????????? ???? ??????? ??? ????? ?????? ????? ??
????? ????? - ????????? ?? ?? ????? ??????? ?? ????? ? ???
???? ???? ???? ???? ???? ?? ???? ??????? ???? ??
?????? ????? - ?????????? ?? ???? ?? ?????? ?? ?? ?? ???????
???? ???? ???? ????? ?????
4??????? ???? ( ?????????5 -11)
- ?????? ????????? ??? ???? ?? ????? ?????????
?????? ???? ???? ??????? ?? ????? ?? ??????. - ?????? ?????? ???? ???? ?????? ? ????? ???? ??
????? ?? ?????. - ?????? ?????? ?????? ?????? ??????? ???? ????
??????? ????? ? ?????? ??? ????? ???? ??????
????? ?? ????.
5Components of requirements elicitation
What
6Elicitation activities
How
- Application domain understanding
- Application domain knowledge is knowledge of the
general area where the system is applied. - Problem understanding
- The details of the specific customer problem
where the system will be applied must be
understood. - Business understanding
- You must understand how systems interact and
contribute to overall business goals. - Understanding the needs and constraints of system
stakeholders - You must understand, in detail, the specific
needs of people who require system support in
their work.
7The requirements elicitation process
How
8Elicitation stages
How
- Objective setting
- general goals of the business,
- an outline description of the problem to be
solved, - why the system is necessary
- the constraints on the system.
- Background knowledge acquisition
- information about the organisation where the
system is to be installed - the application domain of the system and
information about existing systems - Knowledge organisation
- The large amount of knowledge which has been
collected in the previous stage must be organised
and collated. - Stakeholder requirements collection
- System stakeholders are consulted to discover
their requirements
9Exercise
- What is the relationship between process stages
and elicitation activities?
10Requirements analysis and negotiation
How
11Elicitation, analysis and negotiation
How
12??????? ???? ( ????????? 13-15)
- ????????? ??? ??? ?? ????? ??? ????? ????? ??
????? ??? ?? ????????? ???? ???? ??????? ?????
?? ?????? - ?? ???? ?? ????? ??? ???? ?? ????? ????? ?? ????
??? ?????? ? ?????? ???? ?? ???? ?????? ????
????? ???? ?? ????. - ?????? ????? ??? ?????? ? ???????? ?? ?? ???
????? ??????? ????? ????? ???? ?? ????? ????? ??
?????.
13Elicitation activities
How
- Application domain understanding
- Problem understanding
- Business understanding
- Understanding stakeholders needs
14Application Domain Understanding
What
- The process by which a software engineer learns
about the domain to better understand the
problem - The domain is the general field of business or
technology in which the clients will use the
software - A domain expert is a person who has a deep
knowledge of the domain - Benefits of performing domain analysis
- Faster development
- Better system
- Anticipation of extensions
15Domain Analysis Outputs
What
- Business Vocabulary
- General knowledge about the domain
- Customers and users
- Environment
- Tasks and procedures currently performed
- Competing software
- Similarities to other domains
16??????? ???? ( ????????? 17-23)
- ?????? ????????? ??? ??? ?? ????? ??? ???? ??
????? ??? ?? ????????? ???? ???? ??????? ?????
?? ??????. - ?? ??? ?????? ?? ??????? ????? ?? ???? ??????
????? ?? ?? ??? ?? ?????? ????? ?????? ????? ??
?????? ?????? ?? ?? ?????? ????? ??? ?????? ?????
???? ?? ?? ? ?????? ????? ??????? ?? ??? ??????
??? ???? ?? ????.
17Elicitation activities
How
- Application domain understanding
- Problem understanding
- Business understanding
- Understanding stakeholders needs
18Gain Agreement on Problems
How
- What is the problem?
- We technologists tend to rush headlong into
solution providing - rather than taking time to
truly understand the problem - Suggestion Write it down, see if you can get
everyone to agree on it - What is the problem, really?
- Searching for root causes - or the problem
behind the problem - often leads to a clearer
understanding of the real problem
19Problem Understanding
What
- A problem can be expressed as
- A difficulty the users or customers are facing,
- Or as an opportunity that will result in some
benefit such as improved productivity or sales. - The solution to the problem normally will entail
developing software - A good problem statement is short and succinct
20Analyzing the Problem Overview
Why
21Why Is Analyzing the Problem Important?
Why
- To avoid the Yes, , but .
- Yes, it meets the requirements, but it
doesnt solve my problem. - Problem analysis time is on top of the pyramid
- It pays big dividends if you do it up front
- Analysis work is transferable
- Problem Statement
- Subject is customer
- I need to
- Requirement Statement
- Subject is system
- The system provides
22Definition of a Problem
What
- A problem can be defined as the difference
between
Problem
things as perceived
things as desired
and
Gause Weinberg, 1989
23Problems
What
- Problems are undesirable situations that prevent
the organization from fully achieving its
purpose, goals, and/or objectives. - Opportunities are chances to improve the
organization even in the absence of specific
problems. - Directives are new requirements that are imposed
by management, government, or some external
influence.
24??????? ???? ( ????????? 25-30)
- ?????? ????????? ??? ??? ?? ????? ??????? ?
???????? ????? ?????? ????? ?? ????? ?? ??????. - Pieces ?? ????? ????? ???? ??????? ?? ?????
?????? ? ????? ????????? ?? ????? ?? ???. - ????? ??? ? ????? ?? ????? ????? ???? ?????
??????? ? Fish bone Diagram ?? ?????
????? ?? ????? ?? ?????. - ?????? ????? ????? ???? ???? ????? ?????? ? ?????
?? ?? ????? ? Pareto Diagram ?? ????? ????? ????
??????? ????? ?? ????.
25The PIECES Problem-Solving Framework
What
- P the need to improve performance
- I the need to improve information (and data)
- E the need to improve economics, control
costs, or increase profits - C the need to improve control or security
- E the need to improve efficiency of people
and processes - S the need to improve service to customers,
suppliers, partners, employees, etc.
26Problem Statement
How
27Ishikawa Diagram
What
- The Ishikawa diagram is a graphical tool used to
identify, explore, and depict problems and the
causes and effects of those problems. - It is often referred to as a cause-and-effect
diagram or a fishbone diagram.
28Cause-and-Effect Analysis
What
- Cause-and-effect analysis is a technique in
which problems are studied to determine their
causes and effects. - In practice, effects can be symptomatic of more
deeply rooted or basic problems which, in turn,
must be analyzed for causes and effects until
such a time as the causes and effects do not
yield symptoms of other problems. - List contributing causes to the identified
problem. - Keep asking Why? (expand each rib). How much
does each contribute?
29What Is the Problem Being Solved?
How
Fishbone Diagram One Method for Root-Cause
Analysis in Solving our Sample Problem
Our Customers Stated Problem
Too Much Litter
Environmental Impact
Too Hard to Recycle Now
We NeedRecyclingMachines Here
Limited Natural Resources
Impact on Unborn Children
People Can Make Money
30 Focus on the Largest Contributors
How
Pareto Diagram
Contribution
Rank in order and use the 80-20 Rule to focus on
the top contributing causes to address the
greatest portion of the problem.
31??????? ???? ( ????????? 32-37)
- ?? ??? ???? ????? ????? ?? ?????? ??????????
?????? ? ????? ???? ?? ?????? ????? ?? ????? ? ??
????? ??????? ????? ???? ????? ???? ?? ?????. - ???????? ?????????? ???????? ????? ? ???????? ???
? ?????? ?? ????? ?? ??? ???? ???? ????? ? ?????
???? ????? ??? ???.
32Elicitation activities
How
- Application domain understanding
- Problem understanding
- Business understanding
- Understanding stakeholders needs
33System Improvement Objectives
What
- An objective is a measure of success. It is
something that you expect to achieve, if given
sufficient resources. - Reduce the number of uncollectible customer
accounts by 50 percent within the next year. - Increase by 25 percent the number of loan
applications that can be processed during an
eight-hour shift. - Decrease by 50 percent the time required to
reschedule a production lot when a workstation
malfunctions. - A constraint is something that will limit your
flexibility in defining a solution to your
objectives. Essentially, constraints cannot be
changed.
34Identify Constraints
What
Political
Economic
Environmental
Technical
Feasibility
System
35Cause-and-Effect / System Improvement Objectives
How
PROBLEMS, OPPORTUNITIES, OBJECTIVES, AND
CONSTRAINTS MATRIX
36Analysis checks
How
- Necessity checking
- The need for the requirement is analysed. In some
cases, requirements may be proposed which dont
contribute to the business goals of the
organisation or to the specific problem to be
addressed by the system. - Consistency and completeness checking
- The requirements are cross-checked for
consistency and completeness. - Consistency means that no requirements should be
contradictory - completeness means that no services or
constraints which are needed have been missed
out. - Feasibility checking
- The requirements are checked to ensure that they
are feasible in the context of the budget and
schedule available for the system development.
37Requirements negotiation
How
- Requirements discussion
- Requirements which have been highlighted as
problematical are discussed and the stakeholders
involved present their views about the
requirements. - Requirements prioritisation
- Disputed requirements are prioritised to identify
critical requirements and to help the decision
making process. - Requirements agreement
- Solutions to the requirements problems are
identified and a compromise set of requirements
are agreed. Generally, this will involve making
changes to some of the requirements.
38??????? ???? ( ????????? 39-44)
- ?? ???? ?? ????? ??????? ????? ?? ????? ???????
??? ?? ????????? ??? ??????? ?????? ???? ????
??????? ??????? ?? ????. - ????? ?????? ????????? ?? ??? ??????? ????? ( ?
???? ??????? ) ?? ??? ?????? ??????? ?? ???. - ??????? ????? ?? ????? ( ???? ?????? ?? ?? ??????
????? ?????? ???? ?? ???? ???? ???)? ????????
????? ??????? ?? ?? ?? ?? ?????? ????? ??????
????? ?? ???? ? ???? ????? ??? ?????? ????? ??
????.
39Elicitation activities
How
- Application domain understanding
- Problem understanding
- Business understanding
- Understanding stakeholders needs
40Understanding Stakeholder Needs - Overview
What
I need
Problem Space
Problem
Needs
Solution Space
Features
Software Requirements
41What Are Sources for Our Requirements?
What
Requirement Specs Business PlansPersonal
Goals Business Models
Partners
Customer
Analyst
Domain ExpertsIndustry AnalystsSite
Visits Competitive info.
Bug ReportsChange Requests
Problem Domain
Users
42What Are The Characteristics of Our Customers?
What
Technology AdoptionProfile
35
30
25
20
of Target Domain Customers
15
10
5
0
Time
(the lifecycle of the technology)
- INNOVATORS
- Technical Influence
- No Money
- Discontinuous innovation
- Company specific
- EARLY ADOPTERS
- Have money
- Strong Influence
- Specific features
- EARLY MAJORITY
- Pragmatists
- Mission critical systems
- Reliability
- Whole product solutions
- LATE MAJORITY
- Conservatives
- Price sensitive
- Simplify
- Commodity
- Demanding
Moore, 1991
43What Problems Might Be Encountered?
How
- Stakeholders know what they want but may not be
able to articulate it. - Stakeholders may not know what they want.
- Stakeholders think they know what they want until
you give them what they said they wanted. - Analysts think they understand user problems
better than users. - Everybody believes everybody else is politically
motivated.
44What Does This Process Look Like?
How
Ad hoc requirements
Requirements Spec
Rejected
Reworked Spec
Rejected
Reworked again
Customer
Development
Approved !
45??????? ???? ( ????????? 46-123)
- ?? ??? ???? ???????? ??? ???? ???? ???? ???? ???
????? ??????? ????? ????? ?? ?????. ?? ?? ?? ???
??????? ? ???????? ???? ??????? ?? ????? ????? ?
????? ?? ??? ????? ?????? ???? ??????? ?? ?? ??
?? ??????? ? ???????? ? ???????? ???? ???? ?? ??
?? ???? ?? ????? ??? ???? ?? ????.
46Elicitation techniques
What
- Specific techniques which may be used to collect
knowledge about system requirements - This knowledge must be structured
- Partitioning - aggregating related knowledge
- Abstraction - recognising generalities
- Projection - organising according to perspective
- Elicitation problems
- Not enough time for elicitation
- Inadequate preparation by engineers
- Stakeholders are unconvinced of the need for a
new system
47Techniques for Eliciting Stakeholder Needs
What
- Document study
- Research and Site Visits
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
48Document Study
- Developing a good feel for the system by studying
existing documentation, forms, and files. - A good analyst always gets facts first from
existing documentation. - Organization chart (The first document the
analyst should seek out)
49Documents that should be studied
- Documents that describe the problem
- Documents that describe the business functions
50Documents that Describe the Problem
- Interoffice memoranda, studies, memos,
suggestions, customer complaints, and reports
that document the problem area. - Accounting records, performance reviews, work
measurements reviews and operating reports. - Past and Present Information systems project
requests.
51Documentation of previous system studies
- Various types of flowcharts and diagrams
- Project dictionaries
- Design documentation
- Program documentation
- Computer operations manuals
- Training manuals
52Documents that describe the business function
- The companys mission statement and strategic
plan - Formal objectives for the organization subunits
- Policy manuals that may place constraints
- Quality Manuals (ISO 9001,)
- Standard Operating Procedures, job outlines, or
task instructions - Completed forms
- Samples of manual and computerized databases
- Samples of manual and computerized screens and
reports
53Research and Site Visits
- Thoroughly research the problem domain.
- Contact or perform site visits at companies that
have experienced similar problems. - Reference books
- Professional journals
- Internet
54Observation
How
- Observation is a fact-finding technique wherein
the systems analyst either participates in or
watches a person perform activities to learn
about the system. - Advantages?
- Disadvantages?
-
55Advantages
- Highly reliable.
- Used to check the validity of data obtained
directly from individuals. - Exactly Identifying tasks that have been missed
or inaccurately described. - Relatively inexpensive (less employee release
time and copying) - Doing work measurement
56Disadvantages
- People perform work differently when observed
- The work may not involve the level of difficulty
or volume during that time period - The tasks observed are subject to various
interruptions
57Observation Guidelines
What
- Determine the who, what, where, when, why, and
how of the observation. - Obtain permission from appropriate supervisors or
managers. - Inform those who will be observed of the purpose
of the observation. - Keep a low profile.
- Take notes during or immediately following the
observation. - Review observation notes with appropriate
individuals. - Don't interrupt the individuals at work.
- Don't focus heavily on trivial activities.
- Don't make assumptions.
58Techniques for Eliciting Stakeholder Needs
What
- Document study
- Research and Site Visits
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
59Work Sampling
What
- Work sampling is a fact-finding technique that
involves a large number of observations taken at
random intervals. - Sampling is the process of collecting a
representative sample of documents, forms, and
records. - Determining the sample size
- Sample Size 0.25 x (Certainty factor/Acceptable
error)2 - For a 90 certainty
- Sample Size 0.25(1.645/0.10)2 68
60Sampling Techniques
How
- Randomization is a sampling technique
characterized as having no predetermined pattern
or plan for selecting sample data. - Stratification is a systematic sampling
technique that attempts to reduce the variance of
the estimates by spreading out the samplingfor
example, choosing documents or records by
formulaand by avoiding very high or low
estimates.
61Techniques for Eliciting Stakeholder Needs
What
- Document study
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
62Interviews
What
- A direct technique that can be used in both
problem analysis and requirements elicitation - Designed to gain an understanding of real
problems and potential solutions from the
perspectives of the users, customers, and other
stakeholders
63Types of Interviews
What
- Unstructured interviews are conducted with only
a general goal or subject in mind and with few,
if any, specific questions. The interviewer
counts on the interviewee to provide a framework
and direct the conversation. -
- In structured interviews the interviewer has a
specific set of questions to ask of the
interviewee.
64Types of Interview Questions
What
- Open-ended questions allow the interviewee to
respond in any way that seems appropriate. - Closed-ended questions restrict answers to
either specific choices or short, direct
responses.
65Interview Questions
What
- Types of Questions to Avoid
- Loaded questions
- Leading questions
- Biased questions
- Interview Question Guidelines
- Use clear and concise language.
- Dont include your opinion as part of the
question. - Avoid long or complex questions.
- Avoid threatening questions.
- Dont use you when you mean a group of people.
66 The Context-Free Question
What
- The context-free question is a high-level,
abstract question that can be posed early in a
project to obtain information about global
properties of the users problem and potential
solutions. - Context-free questions
- Are always appropriate
- Help you understand stakeholder perspectives
- Are not biased with solutions knowledge
67 The Context-Free User Questions
What
- Roles
- Who is the customer?
- Who is the user?
- Are their needs different?
- What are their backgrounds, capabilities,
environments? - Use as input when defining actors for Use Cases
68 Context-Free Process Questions
What
- Problems
- What is the problem?
- What is the reason for wanting to solve this
problem? - Are there other reasons for wanting to solve this
problem? - What is the value of a successful solution?
- How do you solve the problem now?
- What is the trade-off between time and value?
- Where else can the solution to this problem be
found?
69 Context-Free Product Questions
What
- Product
- What problem does this product solve?
- What business problems could this product create?
- What hazards could exist for the user?
- What environment will the product encounter?
- What are your expectations for usability?
- What are your expectations for reliability?
- What performance/precision is required?
70 Context-Free Meta-questions
What
- Interview
- Am I asking too many questions?
- Do my questions seem relevant?
- Are you the right person to answer these
questions? - Are your answers requirements?
- Can I ask more questions later?
- Would you be willing to participate in a
requirements review? - Is there anything else I should be asking you?
Gause Weinberg, 1989
71Interviews Non-Context-Free Examples
What
- Leading questions
- You need a larger screen, dont you?
- Self answering questions
- Are fifty items about right?
- Controlling statements
- Can we get back to my questions?
- Too long-too complex
- I have a three part question, ...
What are better questions to ask?
72Interviews Warning
What
- Don't ask people to describe things they dont
usually describe. - Assumes that users can describe complex
activities - Example tying your shoelace
- In general, people can do many things they cannot
describe - Empirical evidence - poor correlation
- Ask open-ended questions
- Avoid questions that begin with Why?
- Can provoke a defensive posture
- Dont expect simple answers
- Dont rush the interviewee for answers Listen,
listen, listen!
73Procedure to Conduct an Interview
How
- Select Interviewees
- Prepare for the Interview
- An interview guide is a checklist of specific
questions the interviewer will ask the
interviewee. - Conduct the Interview
- Follow Up on the Interview
74Sample Interview Guide
How
Interviewee Jeff Bentley, Accounts Receivable
Manager Date Tuesday, March, 23, 2000 Time 130
P.M. Place Room 223, Admin. Bldg. Subject Curren
t Credit-Checking Policy
- Time Interviewer Interviewee
- Allocated Question of Objective Response
- 1 to 2 min. Objective
- Open the interview
- Introduce Ourselves
- Thank Mr. Bentley for his valuable time
- State the purpose of the interview--to obtain an
understanding of the existing credit-checking
policies - 5 min. Question 1
- What conditions determine whether a customers
order is approvedfor credit? - Follow-up
- 5 min. Question 2
- What are the possible decisions or actions that
might be taken once these conditions have been
evaluated? - Follow-up
(continued)
75Sample Interview Guide (concluded)
How
- 1 min. Question 4
- After a new order is approved for credit and
placed in the file containing orders that can be
filled, a customer might request that a
modification be made to the order. Would the
order have to go through credit approval again if
the new total order cost exceeds the original
cost? - Follow-up
- 1 min. Question 5
- Who are the individuals that perform the credit
checks? - Follow-up
- 1 to 3 mins. Question 6
- May I have permission to talk to those
individuals to learn specifically how they carry
out the credit-checking process? - Follow-up
- 1 min. Objective
- Conclude the interview
- Thank Mr. Bentley for his cooperation and assure
him that he will be receiving a copy of what
transpired duringthe interview - 21 minutes Time allotted for base questions and
objectives. - 9 minutes Time allotted for follow-up questions
and redirection
76Advantage
- Opportunity to motivate the interviewee to
respond freely and openly to questions. - Probe for more feedback
- Adapt or reword questions for each individual
- Observing interviewee nonverbal communication
77Disadvantage
- Very time consuming
- Success of interviews is highly dependent on the
systems analyst human relation skills. - Interviewing may be impractical due to location
of interviewees.
78Techniques for Eliciting Stakeholder Needs
What
- Document study
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
79Questionnaires
What
- Questionnaires are special-purpose documents
that allow the analyst to collect information and
opinions from respondents. - Advantages?
- Disadvantages?
80Types of Questionnaires
What
- Free-format questionnaires offer the respondent
greater area in the answer. - A question is asked, and the respondent records
the answer in the space provided after the
question. - Fixed-format questionnaires contain questions
that require selection of predefined responses
from individuals.
81Types of Fixed-Format Questions
What
- Multiple-choice questions
- Rating questions (stating an opinion)
- Ranking questions (ranked in order of preference
or experience)
82Questionnaire Procedure
How
- Determine what facts and opinions must be
collected and from whom you should get them. - Based on the needed facts and opinions, determine
whether free- or fixed-format questions will
produce the best answers. - Write the questions.
- Test the questions on a small sample of
respondents. - Duplicate and distribute the questionnaire.
83Techniques for Eliciting Stakeholder Needs
What
- Document study
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Requirements Workshop
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
84Advantage
- Can be answered quickly.
- Inexpensive means for gathering data from a large
number of individual - Maintain anonymity
- Responses can be tabulated and analysed
85Disadvantage
- Number of respondents is often too low
- Theres no guarantee that an individual will
answer or expand on all questions. - Inflexible. No opportunity to obtain voluntary
information or reword questions. - Its not possible to observe respondent body
language. - No immediate opportunity to clarify a vague or
incomplete answer - Difficult to prepare
86Prototyping
What
- A prototype is an initial version of a system
which may be used for experimentation - Prototypes are valuable for requirements
elicitation because users can experiment with the
system and point out its strengths and
weaknesses. They have something concrete to
criticise - Rapid development of prototypes is essential so
that they are available early in the elicitation
process
87Types of prototyping
What
- Throw-away prototyping
- To elicit requirements
- Use for the requirements which cause most
difficulties to customers and which are the
hardest to understand. - Evolutionary prototyping
- intended to deliver a workable system quickly to
the customer. - Use for well-understood requirements and which
can deliver useful end-user functionality. - After extensive use poorly understood
requirements should be implemented.
88Prototyping costs and problems
What
- Training costs - prototype development may
require the use of special purpose tools - Development costs - depend on the type of
prototype being developed - Extended development schedules - developing a
prototype may extend the schedule although the
prototyping time may be recovered because rework
is avoided - Incompleteness - it may not be possible to
prototype critical system requirements
89Techniques for Eliciting Stakeholder Needs
What
- Document study
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
90Joint Requirements Planning
What
- Joint requirements planning (JRP) is a process
whereby highly structured group meetings are
conducted for the purpose of analyzing problems
and defining requirements. - JRP is a subset of a more comprehensive joint
application development (JAD) technique that
encompasses the entire systems development
process.
91Requirements Workshops
How
- Accelerate the Elicitation Process
- Gathers all stakeholders together for an
intensive, focused period - Facilitator runs the meeting
- Everyone gets their say
- Results immediately available
- Provide a framework for applying the other
elicitation techniques we will be discussing
92Benefits of JRP
Why
- JRP actively involves users and management in the
development project (encouraging them to take
ownership in the project) - JRP reduces the amount of time required to
develop systems - When JRP incorporates prototyping as a means for
confirming requirements and obtaining design
approvals, the benefits of prototyping are
realized
93JRP Participants
What
- Sponsor
- Facilitator
- Users and Managers
- Scribes
- IT Staff
94Workshops Planning and Executing
How
- Sell the workshop
- Establish team
- Handle logistics
- Issue warm-up material
- Prepare agenda
- Facilitate
- Keep on track
- Record findings
- Summarize conclusions
- Synthesize findings
- Condense info
- Present to customer
- Determine next steps
95Typical room layout for JRP session
How
96Guidelines for Conducting a JRP Session
How
- Do not unreasonably change the list of questions
- Stay on schedule
- Ensure that the secretary is able to take notes
- Avoid the use of technical words and phrases
- Apply conflict resolution skills
- Allow for breaks
- Encourage group opinion
- Encourage user and management participation
without allowing individuals to dominate the
session
97Workshops Tricks of the Trade
How
98Techniques for Eliciting Stakeholder Needs
What
- Document study
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
99Brainstorming
What
- Brainstorming is a technique for generating ideas
during group meetings. - Participants are encouraged to generate as many
ideas as possible - in a short period of time
- without any analysis until all the ideas have
been exhausted.
100Rules of Brainstorming
How
- Clearly state the objective of the session
- Generate as many ideas as possible
- Let your imagination soar
- Do not allow criticism or debate
- prune and combine ideas
101Brainstorming Exercise
How
- 1. Prepare
- Stack of Post-Its for each participant
- Large markers for all
- 2. Gather Ideas
- Write it down
- Shout it out
- Facilitator posts on board
- 3. Prune Ideas
- Combine like ideas
- Eliminate outrageous ideas
- 4. Organize Ideas
- Move the cards around
- Could organize by FURPS
102Brainstorming Idea Reduction
How
- Discard redundant and outrageous ideas
- Store needs more development ideas
- Mix ideas
- Prioritize those that remain
- Vote
- Single vote
- Cumulative voting
- By features
- Apply evaluation criteria
- Non-weighted
- Weighted
103Brainstorming Guidelines
How
- Isolate the appropriate people in a place that
will be free from distractions and interruptions - Make sure that everyone understands the purpose
of the meeting - Appoint one person to record ideas
- Remind everyone of the brainstorming rules
- Within a specified time period, team members call
out their ideas as quickly as they can think of
them - After the group has run out of ideas and all
ideas have been recorded, then and only then
should the ideas be analyzed and evaluated - Refine, combine, and improve the ideas that were
generated earlier
104Techniques for Eliciting Stakeholder Needs
What
- Document study
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
105How Can a Use-Case Model Elicit Needs?
How
- Discuss with customer what the system will do
- Identify who will interact with the system
- Identify what interfaces the system should have
- Help verify that no requirements are missing
- Verify that developers understand requirements
Use-Case Model
106What Is a Use Case?
What
A use case defines a sequence of
actions performed by a system that yields an
observable result of value to an actor
- A use case describes a set (class) of possible
executions of the system - A specific execution (instance) of a use case is
a scenario - Work on the class level to identify and describe
the use case -
- Set of atomic activities, decisions, and
requests - May be performed fully or not at all
- Started by actor
107What Is a Use Case?
What
108Define System Boundaries and Functions
What
A Simple Phone System
- A model of what the system does and who it does
it for
109Useful Questions in Identifying Use Cases
How
- What are the primary tasks the actor wants the
system to perform? - Will the actor create, store, change, remove, or
read data in the system? - Will the actor need to inform the system about
sudden, external changes? - Does the actor need to be informed about certain
occurrences in the system? - Will the actor perform a system startup or
termination?
110A Use-Case Model Diagram
What
A Recycling Machine
- A model of what the system is supposed to do (use
cases), and the system's surroundings (actors).
111Techniques for Eliciting Stakeholder Needs
What
- Document study
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
112Role Playing
How
- Tools and Techniques
- Scripted walkthroughs
- Scenario analysis
- Class Responsibility Collaboration (CRC) Cards
- Have the analyst play the role of user or
customer to gain real insights into the problem
domain - Have the customer play the role of a user to
understand the problems they may face
113Techniques for Eliciting Stakeholder Needs
What
- Document study
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
114Business Modeling
Why
- Modeling, understanding, and improving a
business. - A business model provides a static view of the
structure of the organization and a dynamic view
of the processes within the organization. - We need to model the business to localize
problems or identify opportunities for
improvements.
115Why Business Modeling?
Why
- To understand current problems in the target
organization and identify improvement
potentials. - To assess the impact of organizational change.
- To ensure that customers, end users, developers,
and other parties have a common understanding of
the organization. - To derive the software system requirements needed
to support the target organization. - To understand how a to-be-deployed software
system fits into the organization.
116Business Modeling Discipline
- Assess the current organization and develop a
vision of the new organization. - Defines the processes, roles, and
responsibilities of that organization
117Business Modeling Artifacts in RUP
- The RUP provides a process for business modeling.
- The Unified Modeling Language (UML) can be
effectively applied to modeling both software and
a business. - Business Modeling Artifacts
- Business use-case model
- Business-analysis model.
118Business Modeling Scenarios
- Organization Chart Building a simple map of the
organization and its processes to get a better
understanding of what the requirements are on the
application. - Domain Modeling
- One Business Many Systems
- Generic Business Model
- Generic Business Model
- Revamp
119Business Modeling Workflow in RUP
120Business Models Provide Input to Systems
What
- What should business models show?
- Business Processes
- Organizational structure
- Roles and responsibilities
- Products
- Deliveries
- Events
121Techniques for Eliciting Stakeholder Needs
What
- Document study
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
122Reviewing Customer Requirement Specs
How
- How to identify requirements
- In general, ignore
- Introductions
- General system descriptions
- Glossary of terms
- Other explanatory information
- Find application behaviors or behavioral
attributes and select and label uniquely - Keep a list of all identified issues and
assumptions -- verify with the customer or user - If you dont know if something is a requirement,
ask the customer!
123Exercise
- Which techniques should be used for which
Applications? Why and Why not?
Technique Application Observation Interview Prototyping
Web Based App.
New Systems
Extension for current applications
.
124??????? ???? ( ????????? 125-126)
- ?? ?? ????? ???????? ????? ????? ???? ?????
??????? ????? ? ???? ???????? ???? ????? ??? ????
???? ??? ???? ???? ?? ?????????? ???? ?? ?????
??????? ?? ??? ??????? ? ?????? ???? ???? ????
???? ????. - ??????? ???? ????? ??????? ??????? ? ????????
??????? ????? ?? ????? ????????? ???? ???? ?????
???? ????? ?? ????. - ???? ?? ??? ??? ????? ? ?????? ?????? ????? ??
???? ?? ??? ???????? ??????? ? ????? ?????? ??
?????? ????? ??? ?? ???? ??? ???? ?????? ?? ????
?? ???????? ??? ?? ???? ???.
125Eliciting Needs Which Tools to Use?
What
- Requirements Workshop
- Brainstorming
- Use Cases
- Interviews
- Questionnaires
- Role Playing
- Business Modeling
- Requirement Reviews
Hi
Catch Up
Mature
Customer/User Experience
Fuzzy problem
Selling/Teaching
Low
Low
Developer Experience
Hi
Which of these tools might you use for each
quadrant of the graph?
Adapted from Alan Davis
126A Fact-Finding Strategy
What
- Learn all you can from existing documents, forms,
reports, and files - If appropriate, observe the system in action
- Given all the facts that you've already
collected, design and distribute questionnaires
to clear up things you don't fully understand - Conduct your interviews (or group work sessions)
- (Optional). Build discovery prototypes for any
functional requirements that are not understood
or if requirements need to be validated - Follow up
127???? ?? ??????
- ?? ????? ???? ???? ??? ??????? ?? ?? ?????? ????
???? ??? ???? ?? ???? ???? ? ???? ???? ???? ????.
- ???? ???? ????? ? ???????? ???? ???????? ?????
???????? ???? ??????? ?? ?? ?? ?? ??????? ? ?????
????????? ?????? ???? ?? ????? ????? ??? ????
????? ???? ?????. - ????? ??????? ????? ?????
- ?????? ?? ?? ?? ?? ??????? ?? ????? ???? ?? ????
????? - ??????????? ?? ?? ????? ?????? ???? ????? ?????
????? ????? - ????????? ???? ??????? ??? ????? ?????? ????? ??
????? ????? - ????????? ?? ?? ????? ??????? ?? ????? ? ???
???? ???? ???? ???? ???? ?? ???? ??????? ???? ??
?????? ????? - ?????????? ?? ???? ?? ?????? ?? ?? ?? ???????
???? ???? ???? ????? ?????
128What Are Sources for Our Requirements?
Requirement Specs Business PlansPersonal
Goals Business Models
Partners
Customer
Analyst
Domain ExpertsIndustry AnalystsSite
Visits Competitive info.
Bug ReportsChange Requests
Problem Domain
Users
129???? ?? ??????
- ?? ????? ???? ???? ??? ??????? ?? ?? ?????? ????
???? ??? ???? ?? ???? ???? ? ???? ???? ???? ????.
- ???? ???? ????? ? ???????? ???? ???????? ?????
???????? ???? ??????? ?? ?? ?? ?? ??????? ? ?????
????????? ?????? ???? ?? ????? ????? ??? ????
????? ???? ?????. - ????? ??????? ????? ?????
- ?????? ?? ?? ?? ?? ??????? ?? ????? ???? ?? ????
????? - ??????????? ?? ?? ????? ?????? ???? ????? ?????
????? ????? - ????????? ???? ??????? ??? ????? ?????? ????? ??
????? ????? - ????????? ?? ?? ????? ??????? ?? ????? ? ???
???? ???? ???? ???? ???? ?? ???? ??????? ???? ??
?????? ????? - ?????????? ?? ???? ?? ?????? ?? ?? ?? ???????
???? ???? ???? ????? ?????
130Elicitation activities
- Application domain understanding
- Problem understanding
- Business understanding
- Understanding stakeholders needs
131???? ?? ??????
- ?? ????? ???? ???? ??? ??????? ?? ?? ?????? ????
???? ??? ???? ?? ???? ???? ? ???? ???? ???? ????.
- ???? ???? ????? ? ???????? ???? ???????? ?????
???????? ???? ??????? ?? ?? ?? ?? ??????? ? ?????
????????? ?????? ???? ?? ????? ????? ??? ????
????? ???? ?????. - ????? ??????? ????? ?????
- ?????? ?? ?? ?? ?? ??????? ?? ????? ???? ?? ????
????? - ??????????? ?? ?? ????? ?????? ???? ????? ?????
????? ????? - ????????? ???? ??????? ??? ????? ?????? ????? ??
????? ????? - ????????? ?? ?? ????? ??????? ?? ????? ? ???
???? ???? ???? ???? ???? ?? ???? ??????? ???? ??
?????? ????? - ?????????? ?? ???? ?? ?????? ?? ?? ?? ???????
???? ???? ???? ????? ?????
132Identify Constraints
Political
Economic
Environmental
Technical
Feasibility
System
133???? ?? ??????
- ?? ????? ???? ???? ??? ??????? ?? ?? ?????? ????
???? ??? ???? ?? ???? ???? ? ???? ???? ???? ????.
- ???? ???? ????? ? ???????? ???? ???????? ?????
???????? ???? ??????? ?? ?? ?? ?? ??????? ? ?????
????????? ?????? ???? ?? ????? ????? ??? ????
????? ???? ?????. - ????? ??????? ????? ?????
- ?????? ?? ?? ?? ?? ??????? ?? ????? ???? ?? ????
????? - ??????????? ?? ?? ????? ?????? ???? ????? ?????
????? ????? - ????????? ???? ??????? ??? ????? ?????? ????? ??
????? ????? - ????????? ?? ?? ????? ??????? ?? ????? ? ???
???? ???? ???? ???? ???? ?? ???? ??????? ???? ??
?????? ????? - ?????????? ?? ???? ?? ?????? ?? ?? ?? ???????
???? ???? ???? ????? ?????
134The PIECES Problem-Solving Framework
- P the need to improve performance
- I the need to improve information (and data)
- E the need to improve economics, control
costs, or increase profits - C the need to improve control or security
- E the need to improve efficiency of people
and processes - S the need to improve service to customers,
suppliers, partners, employees, etc.
135Cause-and-Effect Analysis
- Cause-and-effect analysis is a technique in
which problems are studied to determine their
causes and effects. - In practice, effects can be symptomatic of more
deeply rooted or basic problems which, in turn,
must be analyzed for causes and effects until
such a time as the causes and effects do not
yield symptoms of other problems. - List contributing causes to the identified
problem. - Keep asking Why? (expand each rib). How much
does each contribute?
136???? ?? ??????
- ?? ????? ???? ???? ??? ??????? ?? ?? ?????? ????
???? ??? ???? ?? ???? ???? ? ???? ???? ???? ????.
- ???? ???? ????? ? ???????? ???? ???????? ?????
???????? ???? ??????? ?? ?? ?? ?? ??????? ? ?????
????????? ?????? ???? ?? ????? ????? ??? ????
????? ???? ?????. - ????? ??????? ????? ?????
- ?????? ?? ?? ?? ?? ??????? ?? ????? ???? ?? ????
????? - ??????????? ?? ?? ????? ?????? ???? ????? ?????
????? ????? - ????????? ???? ??????? ??? ????? ?????? ????? ??
????? ????? - ????????? ?? ?? ????? ??????? ?? ????? ? ???
???? ???? ???? ???? ???? ?? ???? ??????? ???? ??
?????? ????? - ?????????? ?? ???? ?? ?????? ?? ?? ?? ???????
???? ???? ???? ????? ?????
137Techniques for Eliciting Stakeholder Needs
- Document study
- Observation
- Work Sampling
- Interviews
- Questionnaires
- Prototyping
- Join Requirement Planning
- Brainstorming Idea Reduction
- Use Cases
- Role Playing
- Business Modeling
- Reviewing Customer Requirement Specifications
138???? ?? ??????
- ?? ????? ???? ???? ??? ??????? ?? ?? ?????? ????
???? ??? ???? ?? ???? ???? ? ???? ???? ???? ????.
- ???? ???? ????? ? ???????? ???? ???????? ?????
???????? ???? ??????? ?? ?? ?? ?? ??????? ? ?????
????????? ?????? ???? ?? ????? ????? ??? ????
????? ???? ?????. - ????? ??????? ????? ?????
- ?????? ?? ?? ?? ?? ??????? ?? ????? ???? ?? ????
????? - ??????????? ?? ?? ????? ?????? ???? ????? ?????
????? ????? - ????????? ???? ??????? ??? ????? ?????? ????? ??
????? ????? - ????????? ?? ?? ????? ??????? ?? ????? ? ???
???? ???? ???? ???? ???? ?? ???? ??????? ???? ??
?????? ????? - ?????????? ?? ???? ?? ?????? ?? ?? ?? ???????
???? ???? ???? ????? ?????
139Eliciting Needs Which Tools to Use?
- Requirements Workshop
- Brainstorming
- Use Cases
- Interviews
- Questionnaires
- Role Playing
- Business Modeling
- Requirement Reviews
Hi
Catch Up
Mature
Customer/User Experience
Fuzzy problem
Selling/Teaching
Low
Low
Developer Experience
Hi
Which of these tools might you use for each
quadrant of the graph?
Adapted from Alan Davis