8/18/2019 Case Study of a Problem in Software Engineering
1/13
Lecture 1 , 2Problem Defnition
8/18/2019 Case Study of a Problem in Software Engineering
2/13
Problem Pre- Requisite
• First prerequisite you need to ull fll beore bconstruction is a clear statement o the probthe system is supposed to sole! "his is socalled #product ision,$ #mission statemen#product defnition!$ %ere it&s called #
defnition!$
8/18/2019 Case Study of a Problem in Software Engineering
3/13
'ddressing Problem!
• %o( to address the problem)• *tep 1) +ain agreement on the problem defnition
• *tep 2) nderstand the root causes
• *tep ) .dentiy the sta/eholders and the users
• *tep 0) Defne the solution system boundary!
• *tep ) .dentiy constraints to be imposed on the solu
8/18/2019 Case Study of a Problem in Software Engineering
4/13
Step 1: +ain 'greement on the Problem Defnition
• "o gain agreement)rite Do(n the Problem Defnition 3 does
eeryone agree4
* l bl
8/18/2019 Case Study of a Problem in Software Engineering
5/13
*ample Problem)+oods'res• #5 a mail-order catalog company 5
manuactures 6 sells a ariety o
ine7pensie, miscellaneous items or homand personal use!$
Problem) insu8cient proftability
• "he problem behind the problem4
8/18/2019 Case Study of a Problem in Software Engineering
6/13
*tep 2) nderstanding the Root 9auses
• Root Cause Analysis• basic and contributing causes are discovered in a
process similar to diagnosis of disease.
• The goal is to find out:• what happened
• why did it happen
• what do you do to prevent it from happening aga
d t di th R t
8/18/2019 Case Study of a Problem in Software Engineering
7/13
nderstanding the Root9auses• ;s a simple matter o as/ing the people
directly inoled
• . the problem is more serious, it may be necessary toperorm a detailed inestigation o each contributingproblem and to quantiy its indiidual impact
• ?y simple brainstorming by participants (ho hae/no(ledge o the problem
• or more rigorous e7periment
• *o, (hen the causes are determined, a question)are all the causes (orth f7ing4
• cost o the f7 e7ceeds the cost o the problem4
•(hich ones to f74
8/18/2019 Case Study of a Problem in Software Engineering
8/13
nderstanding the Root 9auses Acont!B
Example
• Problem:“Last summer, we noticed that
several trees appeared to bedying”
• Cause:
• decorative plant beds weresuffocating the tree roots
• Solution:• remove plant beds
• Grass is the best choice toplace around a tree
8/18/2019 Case Study of a Problem in Software Engineering
9/13
nderstanding the Root 9auses Acont!B
A Classical Example:
a pool of oil on the factory oor
• Day 1:
• clean it up
• Day 2: e7actly the same pool o oil in the sameplace
• follows a predictable scenario of blame and resentment
• Day 3: more oil !
• And so on …
Plantanage
oil
8/18/2019 Case Study of a Problem in Software Engineering
10/13
nderstanding the Root 9auses Acont!B
A pool of oil on the factory oor -
Root Cause Analysis approac:
• Day 1:• why the oil (as there at all !
• Cause 1: a leaking gasket in the pipe above
• Cause 1.1: supplier>s gas/ets had a bad record o lea/age buthat they had been selected as a supplier o choice because o
the lo( price • why economy (as used as the deciding criterio
or selection o equipment!
• Cause 1.1.1: the directie rom the Product anager had beto be e7tremely cost conscious#
!oral: the Plant Manager was responsible for the oil p
oil
Plantanag
8/18/2019 Case Study of a Problem in Software Engineering
11/13
+oods'res) Problem behind the Problem4!!!
Problem) insucient protability• "otal Huality anagement A"HB techniqu
IJ• 9ause 1) the problem is due to the high cost
of nonconformance ! cost o all the things that go (roand produce (aste, scrap, and other e7cess costs
• 9ause 1!1) Largest contributor is "#cess Scrap
• "he problem behind the problem in scrap4
8/18/2019 Case Study of a Problem in Software Engineering
12/13
nderstanding the Root 9auses Acont!B
• $%M $echni&ue: Fishbone Diagram•
's/ the peopleK• +oods'res) sources contributing to the
too much
scrap 4!!!
're all#bones$contributingequally to thee7cess scrap4
8/18/2019 Case Study of a Problem in Software Engineering
13/13
'ddressing $'" Root 9ause
• (etermine the contribution of eachcause
• $echni&ue: Pareto 9hart
• +oods'res) Huality data demonstrates thatmany root causes are simply not (orth f7ing
"he e7istingsalesorder system isapoor legacy
code