Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.
-
Upload
darren-daniels -
Category
Documents
-
view
226 -
download
1
Transcript of Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.
![Page 1: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/1.jpg)
Error reports as a source for SPI
Tor Stålhane
Jingyue Li, Jan M.N. Kristiansen
IDI / NTNU
![Page 2: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/2.jpg)
Goals
Business:
How can we reduce the cost of corrective maintenance?
Research:
What are the main cost drivers for corrective maintenance
![Page 3: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/3.jpg)
Company A – 1 Company A is a software line company with
only one product.
The product is deployed on more than 50
operating systems and hardware platforms.
The company has 700 employees and of
these 400 are developers and testers.
![Page 4: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/4.jpg)
Company A – 2Via the company’s DTS – Defect TrackingSystem – the company collected:• Defect ID, priority, severity and report
creation date• Defect summary and detailed description• Who found the defect and when• Estimated correction time• When was the defect corrected• Detailed comments and work log of the
person who corrected the defect
![Page 5: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/5.jpg)
What we did in company A
We improved the company’s DTS based on
the IBM concept of orthogonal defect
classification – ODC.
Based on a study of earlier reported defects,
the classification scheme was modified to fit
the company’s needs.
![Page 6: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/6.jpg)
DTS system enhancements at company A
Added or revisedattributes
Value of the attributes
Effort to fixTime-consuming: more than one person-day effort Easy: less than one person-day effort
Qualifier Missing; Incorrect; or Extraneous
Fixing type Extended the ODC “type” attributes to reflect the actualdefect correction activities of the company.
Root causeProject entities, such as requirement,design, and documentation, which should be done betterto prevent the defect from occurring earlier.
![Page 7: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/7.jpg)
Company B – 1 Company B is a software house that
develops business critical systems, primarily
for the bank and finance sector.
Most of their projects have a fixed price and
a fixed delivery date.
The company has 800 developers and
testers.
![Page 8: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/8.jpg)
Company B – 2
Via the company’s DTS the company
collected among other things:
• Defect ID, priority, severity and report creation date
• Defect summary and detailed description
• Who found the defect and when
• Who tested the correction and how
![Page 9: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/9.jpg)
What we did in company B
Just as for company A, we improved the
company’s DTS based on a study of earlier
reported defects.
In addition, the changes also enabled us to
collect data that should later be used for
software process improvement.
![Page 10: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/10.jpg)
DTS system enhancements at company ¨B
Added or revised attributes
Value of the attributes
Effort to fixClassify effort to reproduce and fix defects as “simple”– less than 20 minutes, “medium” – between 20 minutesand 4 hours, and “extensive” – more than 4 hours.
Defect typeIntroduced a new set of attributes that were adapted tothe way the developers and testers wanted to classifydefects.
Root causeThe attributes here are project entities, such asrequirement, design, development, and documentation,which can be done better to prevent the defect earlier.
![Page 11: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/11.jpg)
Data collection
In both companies, we collected defect data
when the companies had used the new DTS
for six months. Only defect reports that had
all their fields filled in were used for later
analysis. This gave us:
• Company A – 810 defects
• Company B – 688 defects
![Page 12: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/12.jpg)
Data analysis – 1 Our goal was to identify cost drivers for themost expensive defects. Thus, we split thedefects into categories depending onreported “time to fix”. • Company A – two groups: “easy to fix” and
“time consuming”• Company B – three groups: “simple”,
“medium” and “extensive”. “Simple” and “medium” defects was combined into one group – “simple” to be compatible with company A
![Page 13: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/13.jpg)
Data analysis – 2
We identified the most important root causes
for the costly fixes through qualitative
analysis.
• For both companies we had “correction type” and “cause”.
• We also found important information in the– developer discussions (company A)– test descriptions (company B)
![Page 14: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/14.jpg)
Root causes for high effort fixes - A
Reasons for the costly debugging Numbers of high effort defects in each business unit
Core B2C B2B
Hard to determine the location ofthe defect
20 37 4
Implemented functionality was newor needed a heavy rewrite
13 29 2
Long clarification (discussion) ofdefect
19 5 0
The original fix introduces newdefects / multiple fixes
13 9 0
Others (documentation is incorrector communication is bad)
2 0 0
Reasons not clear 3 16 0
![Page 15: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/15.jpg)
Root causes for company ABased on the collected data, we identifiedthe most important root causes for costlydefects:• It was hard to determine the defect’s
location• Implemented functionality was new or
needed a heavy rewrite• Long, costly discussion on whether the
defect report really was a defect or just misuse of the system.
![Page 16: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/16.jpg)
Root causes for high effort fixes – B
Root cause attribute
Number of defects
SimpleMedium Extensive Sum
Functional defect 9 2 11
Wrong test data in build 77 4 81
Bad specification 89 12 101
Bad test environment 9 1 10
Development problems 317 57 374
Sum 501 76 577
![Page 17: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/17.jpg)
Root causes for company B Bad specifications and development
problems account for 91% of the high effort
defects.
If we consider the sub-categories defined for
these two root causes, we find that 70% of
all correction costs are due to:
• Errors in business logic
• Unclear requirements
• Problems in graphical interface
![Page 18: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/18.jpg)
Important maintenance factors – 1
Several published studies have identified the following important maintenance cost factors:
• Maintainers’ experience with system and application domain
• System size and complexity
• The development activity where the defect is discovered
• Tool and process support
![Page 19: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/19.jpg)
Important maintenance factors – 2
• System size and complexity – large complex systems makes it difficult to– Analyze the system to decide where the
defect stems from - A – Deiced how to fix the defect - A – Find the right solution to implement – A, B
![Page 20: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/20.jpg)
Important maintenance factors – 3
• Low maintainers’ experience with system and application domain cause – Need for heavy rewrite of functionality - A– Development problems, e.g. with business
logic and user interface – B
![Page 21: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/21.jpg)
Important maintenance factors – 3 ISO 9126 defines maintainability as: • Analyzability• Changeability• Stability • Testability
The high maintenance cost factors size and
complexity fit well into this model. However, the
model focuses on software characteristics and
ignore the influence of the developers’ knowledge
and experience
![Page 22: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/22.jpg)
Conclusions - 1 Important data sources when analyzing
maintainability are:
• Resources needed for fixing
• Defect typology, e.g. ODC
• Qualitative data such as test description and developer discussions
The effort model should be updated
regularly, based on the defect profile and
project environment.
![Page 23: Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.](https://reader035.fdocuments.net/reader035/viewer/2022062321/56649e755503460f94b764f8/html5/thumbnails/23.jpg)
Conclusions – 2
There is no “best estimator” for corrective
maintenance. Important factors are
• Software characteristics – e.g. as defined in ISO 9126
• Staff characteristics – e.g. knowledge and experience