Lecture 06
Lecture 06
LECTURE# 6
PROBLEMANALYSIS
4 Presentation Outline
The Software Team
Problem Analysis
5 Steps of ProblemAnalysis
Gain Agreement on the Problem Definition
Understand the Root Causes
Identify the Stakeholder and Users
Define the Solution SystemBoundary
Identify the constraints to be imposed on the solution
5 The Software Team
The Software Team
6
One of the most interesting things about teams is that individual team
members have different skills, that's what makes a team a team.
six team skills that are necessary for a modern software team to
successfully address the requirements challenge are mentioned here
Requirements Engineer / IT Business Analyst is charged with working with the project
stakeholders and end users to elicit, understand, analyze, and document the
requirements for a system in order to solve a given businessproblem.
Other common titles for this role are: Requirements Analyst, Functional Architect, Business Systems
Analyst, BusinessAnalyst (generic term), etc.
Requirements analyst is a project role, not necessarily a job title. One or more dedicated
specialists can perform the role, or it may be assigned to any of a number of team members: the
project manager, product manager, developer e.t.c
Nevertheless, a talented analyst can make the difference between project successor failure.
Requirements Engineer / Analyst [2]
10
Tasksof Requirements Engineer /Analyst [2]
11
Elicit Requirements
Analyze Requirements
Write Specifications
Tasksof Requirements Engineer /Analyst [2]
12
Lead Validation
Facilitate Prioritization
Manage Requirements
Problem Analysis [1]
13
The first step is to gain agreement on the definition of the problem to besolved.
One of the simplest ways to gain this agreement is to simply write the problem down and see
whether everyone agrees.
Having the user describe the benefits provides additional contextual background on the real
problem.
The problem Statement
17
Problem Description
Once you have an understanding of the larger problem, your team can use a variety of
techniques to gain an understanding of its causes.
One such technique is root cause analysis, which is a systematic way of uncovering the root,
or underlying, cause of an identified problem.
For example,
consider a real-world example: a company, GoodsAreUs, manufactures and sells a variety of
inexpensive, miscellaneous items for home and personal use.
As the company addresses the problem of insufficient profitability, it uses total quality
management (TQM) techniques for problem solving
Based on this experience, the company quickly focused on its cost of nonconformance, which is the
cost of all the things that go wrong and produce waste, scrap, and other excess costs.
Step 2: Understand the Root Causes
19
This cost includes rework, scrap, customer dissatisfaction, employee turnover, and other factors that are
negative-value activities.
Production waste, or "scrap," was found to be one of the largest contributors after quantification of its cost of
non quality
Thisproblem of excess scrap, then, is the next problem the company is trying to solve since it directly affects
the larger problem of the cost of nonconformance, which in turn affects profitability
TQM teaches us the useof the fishbone diagram (see Figure 1) to identify the problems behind the problem.
Each source that contributes towards failure are listed as one of the "bones" on the diagram.
OK, so how do you determine the root causes? In many cases, it's a simple matter
of asking the people directly involved what they think the root cause is.
This could vary from perhaps simple brainstorming by participants to a small data collection
project or, potentially, to a more detailed experiment.
Addressing the RootCause
21
A further fishbone analysis could then be used to determine what specific types of
errors contribute to the inaccurate sales order problem.
This new, more detailed data can then be used to define the features of the software system to
address thoseerrors.
We might like to fix all of the root causes on the "bones" of the diagram.
But data shows that a number of root causes are simply not worth fixing, as the cost of the fix
exceeds the cost of theproblem.
How do you know which ones to fix? You must determine the contribution, of each root cause. The
results of this investigation can be plotted as a Pareto chart [3] or a simple histogram [4] that
visually exposes the real culprits.
Once we have identified inaccurate sales orders as a root cause of a problem worth solving,
we can create a problem statement for the sales order entry problem, as seen in Table 2
Once written, the problem statement can be circulated to the stakeholders for comment and feedback.
Addressing the RootCause
24
Example 2
Table 3: Attendance System Problem Statement
Problem Description
Student Attendance Management.
TheProblem of
Teacher.
Affects
Students.
Attendance Department.
Theresult of which
Teacher-- Has to take someprecious time and energy out of the lecture and take attendance.
Student-- If misses calling the attendance then it’s a absent mark for him.
Attendance Department-- The department has to print hundreds of pages on daily bases to maintain
attendance. After the teacher marks attendance the attendance sheet is taken to department and
attendance is manually entered
Once
Benefits of written, the problem statement can be circulated to the stakeholders for comment and
feedback. Totally automates the process of taking attendance.
Reducesthe role of attendance department in printing attendance sheet and then manually entering the
attendance record.
Step 3: Identify the Stakeholders and
the Users
25
Understanding the needs of the users and other stakeholders is a key factor in
developing an effective solution.
Effectively solving any complex problem typically involves satisfying the needs of a
diverse group of stakeholders.
Many stakeholders are users of the system, and their needs are easy to focus on
because they will be directly involved with system use.
However, some stakeholders are only indirect users of the system or are affected only by the
business outcomes that the system influences.
For example, they include the people and organizations involved in the development of
the system, the subcontractors, the customer's customer,e.t.c
Once the problem statement is agreed to and the users and stakeholders are
identified, we can turn our attention to defining a system that can be deployed to
address the problem.
In so doing, we enter an important transition state wherein we have to keep two things in
mind:
an understanding of the problem and
the considerations of a potential solution.
Thenext important step is to determine the boundaries of the solution system. Thesystem
boundary defines the border between the solution and the real world that surrounds
the solution (Figure 4).
Information, in the form of inputs and outputs, is passed back and forth from the system
to users.
Step 4: Define the Solution System
Boundary
28
Let's identify the "things that interact with our system" generically as
"actors on our system."
How do we find these actors? Here are some helpful questions toask.
After identifying the actors, the analyst can now create a "system perspective," a block diagram
that describes the boundaries of the system, the users, and other interfaces. Figure 6 provides a
systemperspective for the new salesorder system.
The dotted line illustrates the system boundary for the proposed solution. The diagram showsthat in
order to solve our problem we will have to both develop a new system and modify some elements
of the existing system (legacysystem).
Economics
Politics
Technology
Systems
Environment
Schedule & Resources
References
33