IFS231 Unit+3 2022 Upoad
IFS231 Unit+3 2022 Upoad
Requirements analysis
(part 1)
Requirements,
Orientation for online teaching and learning programme
Operations
and
Implementation maintenance
Integration
and test
Development
Design
Requirements
analysis
Planning
System
Concept
Development
Initiation
BABOK® Guide v3. A Guide to the Business Analysis Body of Knowledge (2015).
International Institute of Business Analysis (IIBA).
Source of Requirements
Initial requirements come Advanced requirements
from the customer/user come from the analysts, after
(stakeholders), via: studying:
http://www.technion.ac.il/~erant
Strategic
decisions
https://digitalmarketing.temple.edu/agervasio/2017/07/18/requirements-gathering-types-and-methods/
Requirements Classification Schema
Business Stakeholder / User System/ Solution Transition
Requirements Requirements Requirements requirements
• high-level • often referred to as • are what the • describe the
requirements that user needs or user developers use to capabilities that the
describe why the requirements, build the system. solution must have
organisation is • describe what users • written for developers • describe the
undertaking the do with the system, • these are the conditions the
project. such as the activities traditional “shall” solution must meet to
• state some of the that users must be statements that facilitate transition
benefits that the able to perform. describe what the from current state to
organisation or its • written for the system “shall do.” future state.
customers expect to customer – often in • system requirements • of a temporary nature
receive from natural language are classified as either • address topics such as
undertaking the • generally documented data conversion,
✓functional
project. using narrative text, training, business
✓non-functional
• may be documented use cases, scenarios continuity, etc.
requirements.
in several ways such or user stories
as a project charter,
business case, or in a
project vision and
scope statement.
9
Scenarios
• “A narrative description of what people do and experience as
they try to make use of computer systems and applications”
[M. Carrol, Scenario-based Design, Wiley, 1995]
15
Solution/System Requirements
Functional requirements
• Describe the interactions between the system and its environment
independent from the implementation
• E.g. “Users shall be able to log in using log in screen.”
• Basically, functional requirements describe the behaviour, features,
functioning, and usage of a product/system/software from the perspective
of the product and its user.
• Functional requirements are also called "functional specifications”.
Non-functional requirements
• Aspects not directly related to functional behaviour.
• E.g. “User credentials shall be checked within 0,1 seconds”
• Non-functional requirements are not non-functional at all. Rather, they
describe various quality factors, or attributes, which affect the
functionality's effectiveness. They do not exist in the abstract but only with
respect to relevant functionality. They are often called "ilities," because
many end in "ility," such as, usability, reliability, and maintainability.
Solution Requirements (cont)
Functional requirements
• An example of a functional requirement would be that a
system must send an email whenever a certain condition is met
(e.g. an order is placed, a customer signs up, etc).
Non-functional requirements
• A related non-functional requirement for the system may be
that emails should be sent with a latency of no greater than 12
hours from such an activity.
Accessibility Privacy
Capacity, current and Portability
forecast Quality
Compliance Resilience
Documentation Response time
Disaster recovery Security
Effectiveness Stability
Extensibility Supportability
Fault tolerance Testability
Interoperability
Maintainability
Think – pair – share class discussion
What are functional and non-functional
requirements for a milk carton?
FUNCTIONAL EXAMPLES
• “The packaging should be able to contain fluid
without leaking”
NON-FUNCTIONAL EXAMPLES
• “The corrugated fiber board container is printed and
used as the outer package” (design) OR
• “The packaging should be 100% recyclable”
(compliability) OR
• “Production cost of one package should be no more
than 50cents”
Think – pair – share class discussion
What are functional requirements for Netflix?
FUNCTIONAL EXAMPLES
• Streaming
• Users should be able to open any video instantly, by hovering over the thumbnail
and pushing the play button.
• When the user hovers over a thumbnail, the trailer of that video should
automatically play in the panel, displaying the title, preview, summary, episodes,
year for the video
• Watch history
• The platform regularly updates the suggestions list by using data analytics.
• The contents of the main page depends on users’ search history, preferences, and
watch history.
Think – pair – share class discussion
What are non-functional requirements for Netflix?
NON-FUNCTIONAL EXAMPLES
• Usability
• The interface should be adapted to desktop and mobile devices.
• The main page should display items that are in being watched (in progress).
• Security
• Personal data should be stored securely.
• A username and password is required to access the platform.
• Reliability
• The system should be available 24/7 for 365 days of the year.
• Performance
• The response rate should be less than 5 seconds
Examples of good functional requirements
O
the project objectives can be met without
S hould have: this requirement but not as well as with it
O
this requirement does not map to any
W ish list: project objectives or principles.
Example: Functional Requirements (1)
Example: Functional Requirements (2)
Example: Non-Functional Requirements
“Spectators must be able to watch a match without prior
registration and without prior knowledge of the match.”
➢Usability Requirement
“The system must support 10 parallel tournaments”
➢Performance Requirement
“The operator must be able to add new games without
modifications to the existing system.”
➢Supportability Requirement
Checklist for good requirements
Correctness:
• Does the requirements represent the client’s viewpoint?
Completeness:
• Are all possible scenarios, in which the system can be
used, described?
Consistency:
• Are there any requirements that contradict each other?
Clarity:
• Can requirements only be interpreted in one way?
Realism:
• Can the requirements be implemented & delivered?
Traceability:
• Can each system behavior be traced to a set of functional
requirements?
Remember
BABOK® Guide v3. A Guide to the Business Analysis Body of Knowledge (2015).
International Institute of Business Analysis (IIBA).
Requirements & Design cycle
BABOK® Guide v3. A Guide to the Business Analysis Body of Knowledge (2015).
International Institute of Business Analysis (IIBA).
Performing requirements gathering
Prepare for
elicitation
Conduct elicitation
Confirm elicitation
results
Communicate
Business Analysis
information
Manage
stakeholder
collaboration
Techniques for requirements gathering
Requirements are best determined by business analysts and
businesspeople/stakeholders together
There are more techniques listed in Chapter 4 (page 53) of the BABOK
1. Steps to conduct interviews
Selecting interviewees
▪ Different perspectives:
managers, users
Designing interview questions
▪ unstructured (broad),
structured (narrow)
Preparing for the interview
▪ List questions, set priorities,
schedule interview
Conducting the interview
▪ Be professional, record info,
give interviewee time to ask
questions
Post-interview follow-up
▪ Review notes, look for gaps
2. Steps to administer questionnaires
Select participants
HALO EFFECT =
▪ Using samples of the population Question from
Design questionnaire previous question
▪ Careful question selection carry on to next
Administer questionnaire question
▪ Working to get good response rate
Questionnaire follow-up
▪ Send results to participants
CENTRAL TENDENCY =
Tendency to rate every
question as average
Good Questionnaire Design
• Begin with non-threatening
and interesting questions
• Group items into logically
coherent sections
• Do not put important items at
the very end of the
questionnaire
• Do not crowd a page with too
many items
• Avoid abbreviations
• Avoid biased or suggestive
items or terms
• Number questions to avoid
confusion
• Pretest the questionnaire to
identify confusing questions
• Provide anonymity to
respondents
Types of questions
3. Observation
JAD Participants
• Session leader trained in group dynamics and JAD group
facilitation
• Knowledgeable business and system users and policy makers
• Technical staff representatives to handle
• Computer and network configurations
• Operating environments
• Security issues
• Project team members
JAD Facilities JAD Session
• Conducted in special room • May involve several days
• Limit interruptions over a period of a few
• May be off-site weeks
• Resources • Prepare questions as with
interviews
• Overhead projector,
white board, flip charts, • Formal agenda and ground
work material rules
• Electronic support • Facilitator activities
(laptops) • Keep session on track
• CASE tools • Help with technical terms
• Group support systems and jargon
(GSS) • Record group input
• Help resolve issues
• Post-session follow-up
JAD Meeting room
Managing problems in JAD sessions
• Reducing domination
• Encouraging non-contributors
• Avoid side discussions
• Agenda merry-go-round
– the same issue raised
continually
• Violent agreement
– Inconsistent terminology
masks potential agreement
• Unresolved conflict
– Help group select a better
alternative
• True conflict
– Document as an open issue
• Use humor
6. Prototyping in the Requirements phase
• Prototyping is used to elicit and
validate stakeholder needs, by
creating a model or design of
requirements.
• Elicit requirements through an
iterative process.
• Also used to optimise user
experience, evaluate design
options, and as a basis to develop
the final solution.
• Used to identify missing or poorly
specified requirements.
BABOK® Guide v3. A Guide to the Business Analysis Body of Knowledge
(2015). International Institute of Business Analysis (IIBA).
6. Prototyping approach (2)
Throw-away:
• Prototypes are generated with simple tools (such as paper and pencil, a whiteboard, or
software)
• Used with the aim of uncovering and clarifying requirements.
• A prototype may be updated or evolve during the course of discussion and development
but does not become workable code or get maintained as a deliverable once the final
system or process is implemented.
• This method is helpful for identifying functionality or processes that are not easily elicited
by other techniques, have conflicting points of view, or are difficult to understand. These
prototypes can be an inexpensive tool to uncover or confirm requirements that go beyond
an interface including requirements related to processes, data, and business rules.
Evolutionary or Functional:
• prototypes are created to extend initial requirements into a functioning solution as
requirements are further defined through stakeholder use. This approach produces a
working solution and usually requires a specialized prototyping tool or language.
• These prototypes may be used in the final solution. If specialized software is used, business
processes, rules, and data can be simulated to evaluate the impact of changes and validate
desired outcomes.
Methods Examples
BABOK® Guide v3. A Guide to the Business Analysis Body of Knowledge (2015).
International Institute of Business Analysis (IIBA).
7. Brainstorming (2)
BABOK® Guide v3. A Guide to the Business Analysis Body of Knowledge (2015). International
Institute of Business Analysis (IIBA).
7. Brainstorming (3)
Strengths Limitations
BABOK® Guide v3. A Guide to the Business Analysis Body of Knowledge (2015). International Institute
of Business Analysis (IIBA).
8. User stories (usage narratives)
65
8. User stories (usage narratives)
As a ______________________(role)
WHO ,
I want to ______________________(action),
WHAT
so that_______________________(benefit).
WHY
"User stories are part of an agile approach that helps shift the
focus from writing about requirements to talking about them. All
agile user stories include a written sentence or two and, more
importantly, a series of conversations about the desired
functionality" - Mike Cohn, a main contributor to the invention of Scrum
software development methodology
• A user story is defined incrementally, in three stages:
– The brief description of the need (CARD)
– The conversations that happen during backlog grooming
and iteration planning to solidify the details
(CONVERSATION)
– The tests that confirm the story's satisfactory completion
(CONFIRMATION)
https://www.visual-paradigm.com/guide/agile-software-development/what-is-user-story/
8. User stories- INVEST mnemonic
Independent • Stories should be as independent as possible.
https://www.agileaces.net/write-good-requirements-user-stories-scrum/
Think – pair – share class exercise
WRITE THIS SCENARIO IN USER STORY FORMAT
• Bill is a marine biologist who wants to see an article
about fish.
• He selects "Article or journal" from the menu.
• He chooses the topic "fish" from the subsequent list
shown.
• The system returns articles to Bill about his chosen topic.
• The annotated list designates the physical location of
articles.
• Bill clicks articles of interest to him.
• Abstracts of each flagged article are displayed.
• Bill makes a final selection of articles based on abstracts.
• The abstracts are printed, and Bill retrieves them from
the printer. 69
Selecting Appropriate Techniques
Interview JAD Questionnaires Document Observation
Analysis
Type of As-is, As-is, As-is, improves As-is As-is
information improves, improves,
to-be to-be
Depth of info High High Medium Low Low
Breadth of info Low Medium High High Low
Info integration Low High Low Low Low
User Medium High Low Low Low
involvement
Cost Medium Low- Low Low Low-
medium medium
Requirements Life Cycle Management
Trace analyzes and maintains the relationships between requirements,
designs, solution components, and other work products for
requirements impact analysis, coverage, and allocation.
Maintain
ensures that requirements and designs are accurate and current
requirements throughout the life cycle and facilitates reuse where appropriate.
Prioritize assesses the value, urgency, and risks associated with particular
requirements and designs to ensure that analysis and/or delivery
requirements work is done on the most important ones at any given time.
Assess evaluates new and changing stakeholder requirements to
requirements determine if they need to be acted on within the scope of a
changes change.
Approve
works with stakeholders involved in the governance process to
requirements reach approval and agreement on requirements and designs.
Summary