Professional Documents
Culture Documents
REQUIREMENTS
ENGINEERING
1
Requirements Engineering
4
Challenges of requirements
elicitation
Requirements Elicitation is one of the most difficult
stages of analysis, with numerous communication
barriers existing between the analyst and client that
make eliciting requirements difficult.
Challenges of Requirements
Elicitation
The “Yes, But” syndrome.
The Undiscovered Ruins
“User and Developer” syndrome.
“The sins of your predecessors” syndrome.
The “Yes, But” Syndrome
The “Yes, But” syndrome stems from human nature
and the users inability to experience the software as
they might a physical device.
Need to employ techniques that get the “yes, buts”
out early.
Anticipate that there will be “yes, buts” and add time
and resources to plan for feedback.
Tends to be User Interface centric, these tend to be
the touch points of the system by the users.
The “Undiscovered Ruins”
Syndrome
The more you find, the more you realize there is still
more
Teams struggle with determining when they are done
with requirements elicitation.
First scope the requirements elicitation effort by
defining the problem or problems that are to be
solved with the system.
Employ techniques that help find some of those ruins
and have the stakeholders buy-into the requirements.
The “User and the Developer”
Syndrome
Reflects the profound differences between the
two, making communication difficult.
Characteristic Response
Users do not know what Recognize and
they want, or they know appreciate the user as
what they want but cannot domain experts; try
articulate it. different techniques.
Users think they know Provide alternative
what they want until elicitation techniques
developers give them earlier; storyboard, role
what they said they playing, prototypes, and
wanted. so on.
The “User and the Developer”
Syndrome
Characteristic Response
Analysts think they Put the analyst in the
understand user problems users place. Try role
better than users do. playing for an hour or a
day.
Everybody believes Yes, its part of human
everybody else is nature, so lets get on
politically motivated. with the program.
The “Living with the Sins of your
Predecessors” syndrome
The users and developers do not trust each other
based on previous interactions, so users want
everything and developers commit to nothing
Need to build trust, slowly. Do not over commit to
features, schedule, or budget.
Build success by delivering highest priority features
early in the process.
Challenges….
The difference in general language in both cases. The
clients use a business language while analysts tend to
be more technical.
Retrieval induced forgetting. There is a problem that
users often do not recall all the relevant information
they have available.
It is also difficult or impossible at times to meet with
the relevant stakeholders.
Assumed requirements which are not necessary.
Challenges…
Misunderstanding between the client and the analyst.
This is where the clients do not fully understand the
system that analyst’s are proposing to design.
Problems of scope. This is where the System
boundaries are inadequately defined or defined too
soon
Problems of volatility. This is where Stakeholders
refuse to commit to a set of written requirements.
Conflicting requirements within the organization.
Challenges
Lack of motivation and resistance to change from
the Participants which might often lead to hiding of
necessary information from the analysts.
Limited time to meet all stakeholders for discussions
to come up with a common agreement and
understanding.
There is also a problem of unspoken requirements
which might be very crucial during the deployment
of the system.
Unnecessary technical details
Questions asked
Requirements Requirements analysis
determination questions
questions Who should do it?
Who does it? What should be
What is done? done?
Where is it done? Where should it be
When is it done? done?
How is it done? When should it be
done?
How should it be
done?
Gathering Information
Need to have a checklist of types of information /
documentation to gather.
Challenges are :
Where to look for information
When to stop looking for information i.e. how much
is enough
Categories of Information
Information about the Organisation
Information about the People
Information about the Work
Information about the Work Environment
Categories of information checklist
Information about the organisation
Goals of the company
Organisational structure
Objectives and purposes of functional units
Policies
Information about the people
Authority and responsibility relationships
Job duties
Interpersonal relations
Information needs
Categories of information checklist
Information about the work
Tasks and work flows
Methods and procedures for performing the work
Work schedules and volumes
Performance criteria
Control mechanisms
Information about the work Environment
Physical arrangement of work areas
Resources available
Sources of Data
Primary sources; collecting raw data and analyzing
it.
Secondary sources; reviewing literature and other
data sources, collected for some other purpose other
than the investigation at hand.
Methods of Data collection
The main data collection methods for
requirements elicitation can be obtained by the
following techniques;
21
Method: Requirements Workshop
The requirements workshop is perhaps the most
powerful technique for eliciting requirements.
It gathers all key stakeholders together for a short but
intensely focused period.
The use of an outside facilitator experienced in
requirements management can ensure the success of
the workshop.
Brainstorming is the most important part of the
workshop.
Workshop Problems and
Suggestions
Challenge Remedy
Time Management Facilitator keeps a timer
It’s difficult to get going for all breaks and fines
after breaks and lunch. anyone that is late,
Key shareholders may everyone gets one free
be late returning pass.
Grandstanding, Everyone gets one 5
domineering positions minute position
statement.
Workshop Problems and
Suggestions
Challenge Remedy
Lack of input from Facilitator encourages
stakeholders everyone to use 5-
minute position and
great idea ticket.
comments, petty Use “Cheap Shot
behaviors, and turf wars
Tickets”, all others cost
money.
Flagging energy after Light lunches,
lunch afternoon breaks,
rearrange seating
Method: Storyboarding
Storyboards identify the players, explain what
happens to them, and describes how it happens.
The purpose of storyboarding is to elicit early “Yes,
But” reactions.
Storyboards can be positive, active, or inactive.
Make the storyboard sketchy, easy to modify, and
unshippable.
Storyboard early and often on every project with new
or innovative content.
Storyboarding
Method: Use Cases
Use Cases, like storyboards, identify the who, what,
and how of system behavior.
Use Cases describe the interactions between a user
and a system, focusing on what the system “does” for
the user.
The Use Case model describes the totality of the
system’s functional behavior.
Early stages: After you have an overview of the use
cases, perhaps only by a phrase a piece, expand 10%
of them in detail.
Use case diagram
Method: Role Playing
Role playing allows stakeholders to experience the
user’s world from the user’s perspective.
A scripted walkthrough may replace role playing in
some situations, with the script becoming a live
storyboard.
31
Method: The Experience Survey
The analyst questions knowledgeable individuals usually
done thru an informal, free-flowing conversation.
Participants are not selected randomly nor are they
representative of the organization or department within
which they work. Rather, they are knowledgeable,
articulate and thoughtful individuals.
32
Method: The Case Study
Used when it is necessary to learn from the experience of
others. The emphasis is on an entire organization with
great attention paid to detail under study.
In order to obtain the information required, it is usually
necessary to use other methods like an indepth interview,
consulting internal documents and records and
observation.
33
Method: The In-Person Interview
Survey
Direct communication.
Planning for the interview
Try to answer the following questions
What do you wish to achieve from the interview?
Who should be interviewed?
How will these interviews be conducted?
What topics are to be covered in the interview?
36
Requirements Elicitation Guidelines
Assess System Feasibility
Be sensitive to organizational and political
considerations
Identify and consult system stakeholders
Record requirements sources
Use Business concerns to drive requirements
elicitation
Look for domain constraints
Record requirements rationale
Requirements Elicitation Guidelines
Collect requirements from multiple viewpoints
Prototype poorly understood requirements
Use scenarios to elicit requirements
Define operational processes
Reuse requirements
Identify and Consult System
Stakeholders
If lacking consideration of everyone who is likely to
be affected by the introduction of the system, there is
a great likelihood of missing some critical
requirements.
P - Performance
I - Information
E - Economy
C - Control
E - Efficiency
S - Services
The “PIECES” framework
Performance
Is current throughput and response time adequate?
Information
Do end users and managers get timely, pertinent, accurate
and usefully formatted information?
Economy
Are services provided by the current system cost-
effective?
Could there be a reduction in costs and/or an increase in
benefits?
The “PIECES” framework
Control
Are there effective controls to protect against fraud and
to guarantee information accuracy and security?
Efficiency
Does current system make good use of resources: people,
time, flow of forms?
Services
Are current services reliable?
Are they flexible and expandable?
REQUIREMENTS MANAGEMENT
The process of documenting, analysing, tracing,
prioritising and agreeing on requirements and then
controlling change and communicating to relevant
stakeholders.
The purpose is to ensure that requirements are
documented, verified, and meet the needs and
expectations of stakeholders
It is a continuous process throughout a project
Requirements tracing
Requirements traceability is concerned with
documenting the life of a requirement.
It enables tracing back origin of each requirement
and every change made to the requirement
The use of the requirement after the implemented
features have been deployed and used should be
traceable.
Prioritising and Agreeing
The Scope is the overall view of what a system will
deliver. The impact a system has on an organization’s
ability to meet its goals determines the true value of
that system to the organization.
It defines what is included in, or excluded from, a
project
Care needs to be taken to avoid Scope Creep (the
insidious growth in the scale of a system during the
life of a project).
Determining Scope…
Define the scope: Often, they are qualitative and/or
focus on general statements. Includes;
Defining Deliverables
Defining Functionality and Data
Defining Technical Structure
Assumptions: In order to define the scope, there will
be assumptions that need to be made.
Define the outcome: The outcome is the change that
will occur when the project is complete.
Establishing Objectives
The two main categories of objectives are;
Performance objectives (does it improve performance?)
Quality or usefulness of the output
Quality or usefulness of the format of the output
Speed at which output is generated
Cost objectives (Does it reduce costs?)
Development costs
Costs related to the uniqueness of the system application
Fixed investments in hardware and related equipment
Ongoing operating costs of the system
Establishing measurable Objectives
Prioritising Requirements
MoSCoW technique divides the needs
into must haves, should haves, could
haves and won't (want to) haves.
If the customer does not prioritise then it will be
done by the developers, who may select the parts of
the process which are easiest to produce, or that are
technically challenging, but not taking into account
the needs of the organisation.
MoSCoW
The "Must" requirements are non-negotiable, if they
are not delivered then the project is a failure.
Nice to have features are classified in the other
categories of "Should" and "Could.
Requirements marked as "Won't" are potentially as
important as the "Must" category but can be left for a
future release. A great deal of time might be spent in
trying to produce a good "Won't" list. (read more)
Prioritising the Project Objectives
When a set of requirements has been prioritised then
it can be compared against the other planning aspects
of the project: scope, quality, timescale and
resources, and a risk statement produced.
One can prioritise the four main factors of scope,
quality, timescale and resources, and thus prioritise
the key project objectives. Which of them "Must" be
delivered, which has the maximum flexibility and is
defined as "Could", with the other two factors
between these as "Should“ and “wont”.
Implications of Prioritising the
Project
Any choice that is made has tradeoffs.
If nearly all the requirements are prioritised as
"Must", then there is not much flexibility in the
scope of a project.
However it is better if a project is delivered on time,
even if it has few features, than if a project is
delivered late, but with a full set of features.
Therefore timescale competes to be the most
important factor.
Implications of Prioritising the
Project
If quality is sacrificed then faults will occur in the
software.
Finally all systems must be produced to a budget,
and a business does not have unlimited resources to
put into a project.
There must be a chance of delivering business value
to avoid the risk going sky high.
A balanced and planned prioritisation of the factors
must take place.
Dealing with constraints
A good set of user requirements consists of prioritised
sets of:
Functional requirements,
Non-functional requirements, and
Design objectives.
And does NOT have any design or implementation
decisions.
Producing these will enable you to get systems that will
deliver a business advantage.