Requirements Inception: SE502: Software Requirements Engineering
Requirements Inception: SE502: Software Requirements Engineering
Requirements Inception
1
9/18/2012
Problem Analysis
Goal: gain a better understanding of the
problem being solved before development
begins
Identify root cause
Identify stakeholders and their needs (or
problems)
Identify solution boundary
2
9/18/2012
Business Opportunity
Exploit the poor security record of a competing
product
Business Objective and Success Criteria
Capture a market share of 80 percent by being
recognized as the most secure product in the
market through trade journal reviews and
consumer surveys
Achieve positive cash flow on the product within 6
months
3
9/18/2012
4
9/18/2012
5
9/18/2012
Problem Statement
6
9/18/2012
Stakeholder Profiles
Stakeholders are individuals, groups,
organizations who are actively involved in the
project, are affected by its outcome or are able
to influence its outcome
Profile should include:
Major value or benefit that stakeholder will receive
from product (e.g., improved productivity, reduced
rework, cost saving, ability to perform new tasks...)
Likely attitude toward the product
Major features and characteristics of interest
Any known constraints that must be accommodated
7
9/18/2012
8
9/18/2012
9
9/18/2012
10
9/18/2012
11
9/18/2012
Operating Environment
Environment in which system will be used
(e.g., distributed environment)
Vital availability, reliability, performance and
integrity requirements linked to operating
environment
Requirements Elicitation
12
9/18/2012
13
9/18/2012
Elicitation Goals
description of Solution
System needed to
satisfy Problem Domain
problem solution
interface
domain system Hardware
Domain Software
properties
Requirements
14
9/18/2012
15
9/18/2012
16
9/18/2012
“Ignorance is a bliss”1
17
9/18/2012
Sources of Requirements
Sources of Requirements
Various stakeholders
Clients, customers, users (past and future), buyers,
managers, domain experts, developers, marketing and
QA people, lawyers, people involved in related systems,
anyone who can bring added value!
Pre-existing systems
Not necessarily software systems
Pre-existing documentation
Competing systems
Documentation about interfacing systems
Standards, policies, collective agreements,
legislation
…
SE502: Software Requirements Engineering 36
18
9/18/2012
Stakeholder – Customer/Client
Stakeholder – Buyer
19
9/18/2012
Stakeholder – User
... of the current system or future systems
Experts of the current system: indicate which
functions to maintain or improve
Experts of competitors’ products: suggestions on
designing a superior product
May have special needs or requirements
Usability, training, online help ...
Do not neglect interest groups
Expert users, or with disabilities or handicaps
Select users with care
Different seniority
Must speak with authority and be responsible and
motivated
20
9/18/2012
Stakeholder – Other
Inspector
An expert in governmental rules and safety
relevant to the project
Examples: safety inspectors, auditors, technical
inspectors, government inspectors
Market research specialist
Can play the role of the customer if the
software is developed for the general public
Expert who has studied the market to
determine trends and needs of potential
customers
21
9/18/2012
Stakeholder – Other
Lawyer
Familiar with laws and legal aspects
Standards relevant to the project
On Stakeholders Availability…
22
9/18/2012
23
9/18/2012
24
9/18/2012
25
9/18/2012
26
9/18/2012
27
9/18/2012
Feasibility
One reason for describing measurable
requirements as soon as possible is to answer
questions about feasibility
Technical feasibility
Does the organization have the skills needed to build
and operate the product?
If not, stop the project
Economic feasibility
Does the organization have the resources (time,
money, staff) to construct the product?
If not, stop the project
28
9/18/2012
29
9/18/2012
Required resources
What are the required resources, i.e., money,
time, and personnel?
How do they compare with available money,
time, and personnel?
If the latter are smaller than the former, we
should not even start the project
30
9/18/2012
Project Risks
Are there any high-probability or high-impact
risks that would make the project infeasible?
For example:
Lack of clear purpose
Fragile agreement or disagreement on goals /
requirements
Unmeasureable requirements,
Unstable requirements (rapidly or constantly changing)
…
Understand Problem
31
9/18/2012
Extract Essence
32
9/18/2012
[1] C. Larman
Elicitation Problems
33
9/18/2012
Elicitation Problems
34
9/18/2012
Characteristic Response
Users do not know what Recognize and appreciate
they want, or they know the user as domain
what they want but cannot experts; try different
articulate it techniques
Users think they know
what they want until Provide alternative
developers give them what elicitation techniques
they said they wanted earlier; storyboard, role
Analysts think they playing, prototypes…
understand user problems Put the analyst in the users
better than users do place; try role playing for
Everybody believes an hour or a day
everybody else is politically Yes, its part of human
motivated nature, so lets get on with
the program
SE502: Software Requirements Engineering 70
35
9/18/2012
36
9/18/2012
37