Professional Documents
Culture Documents
2 - Requirements Inception
2 - Requirements Inception
Engineering
REQUIREMENTS INCEPTION
PROF. ALAA EL-HALEES
Outline
Definition
Business Needs
Stakeholder Analysis
Product Vision
Product Roadmap
Product Scope
2
Definition
In general, most software projects begin
when there is a problem to be solved, or
an opportunity identified.
At inception, the problem scope and its
nature is defined.
Requirement engineering is concerned with
developing and managing effective solutions
to problems.
Definition
Inception is the first phase of the
requirements analysis process.
This phase gives an outline of how to get
started on a project.
In the inception phase, all the basic questions
are asked on how to go about a task or the
steps required to accomplish a task.
Definition
The purpose of the inception phase is NOT
to define all the requirements.
The inception phase should be relatively
short for most projects, such as one or a few
weeks long.
Definition
Requirements Inception should contain at
least:
Business Needs
Stakeholders Analysis
Product Vision
Product Roadmap
Product Scope
Outline
Definition
Business Needs
Stakeholder Analysis
Product Vision
Product Roadmap
Product Scope
7
Business Need
Business needs are gaps between the current state
of the company and its goals.
Needs are the basic factors of changes in
the organization , which are defined as requirements.
Business Need
Business needs is a high-level representation of
the requirement needed. The need is the end result
or purpose. It is the "why we are doing this".
Business Need
19
Stakeholder Analysis
A stakeholder of a system is a person or an
organization that has an (direct or indirect)
influence on the requirements of the system.
https://www.youtube.com/watch?v=2_u7Nv7Wh-M&t=72s
Stakeholders
Not all stakeholders are equal.
Some stakeholders are less important to
a business than others.
The business would class them as either;
1) Primary stakeholders
2) Secondary stakeholders
Stakeholders
A) Primary Stakeholders:
Primary Stakeholders are People or
groups seen by the business to be vital
to the organization's success or failure.
Examples of Primary Stakeholders are:
Stakeholders
1) Customer/Client
A customer is the one who buys goods and services from
the businesses or stores.
A client is the one who looks for professional services.
For an internal product, the client is probably a
product manager.
For the consumer market, the customer may be the
marketing department.
27
Stakeholders
2) Decision-makers:
Within the development organization and the user
organization, there will be decision-making
structures that relate to the system under
development.
The kinds of stakeholder here would include
managers of the development team, user
managers and financial controllers in both the
developer and the user organization.
28
Stakeholders
3) User
User of the current system or future system
Experts of the current system: indicate which
functions to maintain or improve
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
29
Stakeholders
4) Domain Expert
30
Stakeholders
4) Domain Expert
Domain Expert is the expert who knows the work involved
Familiar with the problem that the software must solve.
For example:
Financial expert for finance management software
Meteorologist for weather forecasting system, etc…
Librarian for library System.
31
Stakeholders
5) Software Engineer
Expert who knows the technology and process
Determines if the project is technically and
economically feasible
Specifically estimates the cost and time of product
development
Educates the buyer/client on the latest and innovative
hardware or software, and recommends new features
that will benefit from these technologies
32
Stakeholders
b) Secondary Stakeholders:
Secondary stakeholders People or group who may
involved in the organization's success or failure.
35
Outline
Definition
Business Needs
Stakeholder Analysis
Product Vision
Product Roadmap
Product Scope
36
Product Vision
Every product or system we are going to
develop needs a vision.
A product vision is a description of what
you hope to achieve with your product.
A Product vision gives your team a bigger
picture of what they are working on and
why.
Product Vision
This vision will most likely be long term
spanning an entire year or many years. The
product vision helps stakeholders pass the
elevator pitch - the ability to explain the
project to someone within two minutes.
Product Vision
Without this high level, there's a really
good chance that your good work won't
amount to business advantage. Vision is
a starting point.
It needs to adjust to what you learn by
interacting with the market.
Product Vision
The elevator pitch is a way to clear the vision
so that it can handle the classic elevator test.
In this vision the product owner explains
Who’s the target customer? What problem
are you solving? Who is the competition?
What are your strengths/weaknesses?
Example
For dentists and their assistants
who need to efficiently schedule appointments
Dental Clinic 2.0 is desktop and web-based
appointment scheduling software
that supports office and remote access.
Unlike competitive products,
Dental Clinic 2.0 is easy to use and aggressively
priced.
Product Vision
The previous example follows the form (which is called
“elevator pitch”:
- For (target customer)
- Who (statement of the need or opportunity)
- The (product name) is a (product category)
- That (key benefit, compelling reason to buy)
- Unlike (primary competitive alternative)
- Our product (statement of primary differentiation)
Product Vision: Example
an example of a product vision statement for
Microsoft Surface:
Product Vision: Example
For the business user who needs to be
productive in the office and on the go, the
Surface is a convertible tablet that is easy
to carry and gives you full computing
productivity no matter where you are.
Unlike laptops, Surface serves your on-the-
go needs without having to carry an extra
device.
Product Vision- Example
For purchasers and suppliers in medium-sized
companies who need demands set and test the
IT systems that they build themselves. The
ReQtest, is a cloud service That Leads To
structured requirements and tests. Unlike
other software, Our Product Offers many user-
friendly features at a low cost.
Outline
Definition
Business Needs
Stakeholder Analysis
Product Vision
Product Roadmap
Product Scope
46
Product Roadmap
Once you define the Software vision,
it can provide input to the product
roadmap.
A product roadmap is a high-level
visual summary that maps out the
vision and direction of your product
offering over time.
Product Roadmap
The product roadmap should be
updated at least every 6 months by
management.
Product Roadmap
A roadmap is a planned future, laid out in
broad hits — i.e. planned or proposed
product releases, listing high level
functionality or release themes, for a period
usually extending for 2 or 3 significant
feature releases into the future.
It gives your customers a feel for what you're
about and where you're going.
GO product roadmap
Goal Oriented Product Roadmap:
In this kind of Roadmap, the major focus is on
goals.
It focus on goals enables steering on outcome
rather than steering on output.
The value and feature based approach enable the
product owner to plan on the most important
features.
GO product roadmap
The Go (Goal Oriented) product roadmap consist of the following:
https://www.youtube.com/watch?v=NBNsnKPbah0
GO product roadmap
The following is an example of email system GO statement:
Q3 Q2 Q1 Date
Release 3 Release 2 Release 1 Name
58
Project Scope
Project Scope: identifies what portion of the
ultimate long-term product vision the
current project will address.
The project scope outlines the boundaries of
the project such as what is and is not to be
included or expected.
Project Scope
Understanding the scope of a project is
critical to establishing requirements for it.
In some cases, it may be simple and
clearly defined.
However, in other cases, a project’s
boundaries can be vague or poorly
defined, and this is one of the biggest
sources of problems for writing effective
requirements.
System Context
The system context is the part of the system
environment that is relevant for the
definition as well as the understanding of the
requirements of a system to be developed.
Project Scope
The system context defines the boundaries of the
system under development to distinguish it from
neighboring systems.
The system context depicts the project scope at a high
level of abstraction.
The system context diagram deliberately reveals nothing
about the system internals: no information about
functionality, architecture, or look-and-feel. Nor does it
explicitly identify which features or functionality are in
scope and which are not.
System Context
System Context
The following possible aspects of reality influence the
context of a system:
1) People (stakeholders or groups of stakeholders)
2) Systems in operation (other technical systems or
hardware)
3) Processes ( e.g. accounting, recruitment, call
center, technical support….)
4) Events (e.g. fiscal year, semester)
4) Documents (e.g., laws, standards, system documentation)
System Context Example
Context Diagram
The Context Diagram shows the system under
consideration as a single high-level process and
then shows the relationship that the system has
with other external entities (systems, organizational
groups, external data stores, etc (
Context Diagram
The following is included in context diagram:
1) Indicate the people, organizations and systems
which communicate with our system.
2) Show the data which our system receives from the
outside world.
3) Show the data produced by the system and sent to
the outside world.
4) Show the data which is shared by the system with
the outside world.
5) Show the boundary between the system and the rest of the world.
Context Diagram
Example Order
System New customer
Ship
Statement
Context Diagram
Context diagrams can be developed with the use of following types of
building blocks:
Context Diagram
An external entity (terminator or source) is something
outside the system. It is shown as a square and is
identified by a lower case letter and name.`
Customer Sales Dept Accounts
Package
► The name of the data flow is the name of the piece of data passing
between the 2 connected symbols.
► The direction of the arrow shows the direction in which the data is
flowing.
► When data is written to a data store, the data flow is shown going in.
► When data is read from a data store, the data flow is shown coming out.
► If data is being read and written, a double-headed arrow can be used.
Context Diagram
Context Diagram
How to Construct Context Diagram
◦ A strategy
follows for determining the system’s boundary
and scope:
◦ Step 1: Think of the system as a ‘container’ in order to distinguish
the inside from the outside.
◦ Ignore the inner workings of the container .
◦ Step 2: Ask your end-users what business events or transactions a
system must respond to.
◦ These are the net inputs to the system.
◦ For each net input, determine its source.
◦ Sources will become external agents on the context diagram.
Context Diagram
◦ Step 3: Ask your end-users what responses must be
produced by the system.
◦ These are the net outputs to the system.
◦ For each net output, determine its destination.
◦ Destinations may be external agents.
◦ Step 4: Identify any external data stores.
◦ Many systems require access to the files or databases
of other systems.
◦ Step 5: Draw your context diagram from all of the
preceding information.
Context Diagram
Context Diagram
References
• Requirements Engineering for Software and Systems Ch 2
An Introduction to Object-Oriented Analysis and Design Ch. 4
Software Requirements ch.5
Discovering Requirements Ch. 3 Ch. 4
Business Requirements vs Functional Requirements? Who
Cares?
https://netmind.net/en/business-vs-functional-requirements-
who-cares/
Defining Project Scope and Scope Creep
https://www.bmc.com/blogs/project-scope-creep/