Software Requirement Engineering
5 Steps of Problem Analysis
Gain Agreement on the Problem Definition
Understand the Root Causes
Identify the Stakeholder and Users
Define the Solution System Boundary
Identify the constraints to be imposed on the solution
Process of understanding real-world problems
and user's needs and proposing solutions to
meet those needs.
Analyzed and understood, explore solution
domains.
Find the optimal solution
Problem can be defined as the difference
between things as perceived and things as
desired.
Revised business process, rather than
a new system.
Most cost-effective approach.
Highest-quality, fastest, and
cheapest solutions available.
In failure, actively change the
distance between perception and
desire by defining and implementing
new systems
1. Gain agreement on the problem
definition.
2. Understand the root causes- the
problem behind the problem.
3. Identify the stakeholders and the users.
4. Define the solution system boundary.
5. Identify the constraints to be imposed
on the solution.
Gain agreement on the definition of the problem
Write the problem and see whether everyone agrees.
Understand benefits of proposed solution
Having the user describe the benefits provides
additional contextual background on the real
problem.
Write down problem in a standardized format
Table 1: Problem Statement Format
Problem Description
The Problem of Describe the problem.
Affects Identify stakeholders affected by the problem.
The result of Describe the impact of this problem on
which stakeholders and business activity.
Benefits of Indicate the proposed solution and list a few
key benefits.
Uncovering the root cause of identified problem.
For example
A company sells products for home and personal
use.
Addresses the problem of insufficient profitability
by total quality management (TQM) techniques
for problem solving.
Based on this experience, the company quickly
focused on its cost of nonconformance
TQM teaches us the use of the fishbone diagram.
Sources that contribute towards failure are listed as one of
the bones.
Fishbone diagram of Root Causes
Some root causes are not worth fixing, as the cost of
the fix exceeds cost of the problem.
Determine the contribution, of each root cause.
Pareto Chart of Root Causes
Table 2: Sales Order Problem Statement
Problem Description
The Problem of Inaccuracies in sales orders.
Affects Customers, manufacturing, shipping, and Customer service.
The result of Increased scrap, customer
which Dissatisfaction and decreased
profitability
Benefits of That creates a new system to address the problem include
Increased accuracy of sales orders
at point of entry, Improved
reporting of sales data to
management, Ultimately, higher
profitability
The following questions can be helpful in this process.
Who are the users of the system?
Who is the customer (economic buyer) for the system?
Who else will be affected by the outputs the system
produces?
Who will evaluate and approve the system when it is
delivered and deployed?
Are there any other internal or external users of the system
whose needs must be addressed?
Who will maintain the new system?
Is there anyone else who cares?
Defining a system that can be deployed to address
problem
The system boundary defines the border between the
solution and the real world that surrounds the
solution.
Information, in the form of inputs and outputs, is
passed back and forth from the system to users.
How do we find these actors? Here are some helpful questions to ask.
Who will supply, use, or remove information from the system?
Who will operate the system?
Who will perform any system maintenance?
Where will the system be used?
Where does the system get its information?
What other external systems will interact with the system?
System perspective
In order to solve our problem we will have to both develop a
new system and modify legacy system.
Figure: System Perspective
Restrictions on the degrees of freedom we have in providing
solution.
Restrict our ability to deliver a solution as we visualize it.
A variety of sources of constraints must be considered.
May be given to us before we even begin or we may have to
actively elicit them.
Some potential sources of constraints are listed
below
• Economics
• Politics
• Technology Systems
• Environment
• Schedule & Resources
Software Requirements, Wiegers K. &Beatty
J., 3rd Edition (2013), Microsoft Press.