Accendo Reliability

Your Reliability Engineering Professional Development Site

  • Home
  • About
    • Contributors
    • About Us
    • Colophon
    • Survey
  • Reliability.fm
    • Speaking Of Reliability
    • Rooted in Reliability: The Plant Performance Podcast
    • Quality during Design
    • CMMSradio
    • Way of the Quality Warrior
    • Critical Talks
    • Asset Performance
    • Dare to Know
    • Maintenance Disrupted
    • Metal Conversations
    • The Leadership Connection
    • Practical Reliability Podcast
    • Reliability Matters
    • Reliability it Matters
    • Maintenance Mavericks Podcast
    • Women in Maintenance
    • Accendo Reliability Webinar Series
  • Articles
    • CRE Preparation Notes
    • NoMTBF
    • on Leadership & Career
      • Advanced Engineering Culture
      • ASQR&R
      • Engineering Leadership
      • Managing in the 2000s
      • Product Development and Process Improvement
    • on Maintenance Reliability
      • Aasan Asset Management
      • AI & Predictive Maintenance
      • Asset Management in the Mining Industry
      • CMMS and Maintenance Management
      • CMMS and Reliability
      • Conscious Asset
      • EAM & CMMS
      • Everyday RCM
      • History of Maintenance Management
      • Life Cycle Asset Management
      • Maintenance and Reliability
      • Maintenance Management
      • Plant Maintenance
      • Process Plant Reliability Engineering
      • RCM Blitz®
      • ReliabilityXperience
      • Rob’s Reliability Project
      • The Intelligent Transformer Blog
      • The People Side of Maintenance
      • The Reliability Mindset
    • on Product Reliability
      • Accelerated Reliability
      • Achieving the Benefits of Reliability
      • Apex Ridge
      • Field Reliability Data Analysis
      • Metals Engineering and Product Reliability
      • Musings on Reliability and Maintenance Topics
      • Product Validation
      • Reliability by Design
      • Reliability Competence
      • Reliability Engineering Insights
      • Reliability in Emerging Technology
      • Reliability Knowledge
    • on Risk & Safety
      • CERM® Risk Insights
      • Equipment Risk and Reliability in Downhole Applications
      • Operational Risk Process Safety
    • on Systems Thinking
      • Communicating with FINESSE
      • The RCA
    • on Tools & Techniques
      • Big Data & Analytics
      • Experimental Design for NPD
      • Innovative Thinking in Reliability and Durability
      • Inside and Beyond HALT
      • Inside FMEA
      • Institute of Quality & Reliability
      • Integral Concepts
      • Learning from Failures
      • Progress in Field Reliability?
      • R for Engineering
      • Reliability Engineering Using Python
      • Reliability Reflections
      • Statistical Methods for Failure-Time Data
      • Testing 1 2 3
      • The Hardware Product Develoment Lifecycle
      • The Manufacturing Academy
  • eBooks
  • Resources
    • Accendo Authors
    • FMEA Resources
    • Glossary
    • Feed Forward Publications
    • Openings
    • Books
    • Webinar Sources
    • Journals
    • Higher Education
    • Podcasts
  • Courses
    • Your Courses
    • 14 Ways to Acquire Reliability Engineering Knowledge
    • Live Courses
      • Introduction to Reliability Engineering & Accelerated Testings Course Landing Page
      • Advanced Accelerated Testing Course Landing Page
    • Integral Concepts Courses
      • Reliability Analysis Methods Course Landing Page
      • Applied Reliability Analysis Course Landing Page
      • Statistics, Hypothesis Testing, & Regression Modeling Course Landing Page
      • Measurement System Assessment Course Landing Page
      • SPC & Process Capability Course Landing Page
      • Design of Experiments Course Landing Page
    • The Manufacturing Academy Courses
      • An Introduction to Reliability Engineering
      • Reliability Engineering Statistics
      • An Introduction to Quality Engineering
      • Quality Engineering Statistics
      • FMEA in Practice
      • Process Capability Analysis course
      • Root Cause Analysis and the 8D Corrective Action Process course
      • Return on Investment online course
    • Industrial Metallurgist Courses
    • FMEA courses Powered by The Luminous Group
      • FMEA Introduction
      • AIAG & VDA FMEA Methodology
    • Barringer Process Reliability Introduction
      • Barringer Process Reliability Introduction Course Landing Page
    • Fault Tree Analysis (FTA)
    • Foundations of RCM online course
    • Reliability Engineering for Heavy Industry
    • How to be an Online Student
    • Quondam Courses
  • Webinars
    • Upcoming Live Events
    • Accendo Reliability Webinar Series
  • Calendar
    • Call for Papers Listing
    • Upcoming Webinars
    • Webinar Calendar
  • Login
    • Member Home
Home » Articles » CRE Preparation Notes » Software Defect Phase Containment

by Fred Schenkelberg 1 Comment

Software Defect Phase Containment

Software Defect Phase Containment

Software Defect Phase Containment

The software element of products continues to grow.

Likewise, the number of field failures due to software issues continues to grow. Writing code is relatively straight forward, and some may even say it’s fun.

The process of debugging, or finding and fixing software defects, is not fun.

Software defects occur.

The team’s ability to find and remove defects takes discipline and investment. Thus being able to measure the effectiveness of defect debugging efforts is necessary. Making the assumption that once a defect is detected it will be resolved, Fagan (1979) defines error detection effectiveness as:

$$ \large\displaystyle \frac{\text{Errors Found by Inspection}}{\text{Total Errors in the Product before Inspection}}\times 100%$$

The approach was later expanded by Jones (1997) to include defect found in the field (during use).

The idea is to determine the ratio of defects found at a stage of the inspection/review process, over the total number of defects found later and were available to be found (I.e. The defect was not created after the inspection.)

Software Phase Process Defects Injection and Removal

According to the CMMI maturity matrix and others [Chrissis 2011], the key to creating great software lies in establishing the software requirement correctly.

If the requirements are not clear or complete the software is likely to have significantly more defects than otherwise. Of course, defects are also injected during design, coding and later when working to remove bugs.

Each phase of the software development process should include inspections and reviews. Two well-known methods are the Fagan inspection methodology or the Glib methodology. There are other less formal or strict approaches and each organization will have to determine the appropriate approach given their product, liability, and customer exceptions.

Catching (or better avoiding) defects early has an economic benefit as “the cost of correction of a requirement’s defect identified in the field is over 40 times more expensive than if it were detected at the requirements phase” [Boehm, 1981]

Development PhaseDefect InjectionDefect Removal
RequirementsFaulty, unclear, or missing software requirements or specificationsRequirements review and inspection
High Level DesignFaulty design, errors or omissionsDesign review and inspection
Low Level DesignFaulty design, errors or omissionsDesign review and inspection
CodingFaulty codeCode review and inspection
Unit TestPoor defect removalUnit testing
IntegrationPoor defect removalIntegration testing
System TestPoor defect removalSystem Testing

Keep in mind that the development phases may have different names in your organization or have a different basic approach. Yet the basic idea of setting requirements followed by design, coding, and testing is failure universal. Three common software development processes are: Prototyping, Waterfall, and Spiral.

Prototyping includes multiple cycles with:

  • Determine Objectives
  • Cycles of Develop, Refine, Demonstrate
  • Test
  • Implement

Waterfall includes:

  • Requirements
  • Design
  • Implementation
  • Testing
  • Integration
  • Deployment/Installation
  • Maintenance

Spiral includes requirements and multiple prototype phases each of:

  • Determine Objectives
  • Identify and resolve risks
  • Develop and Test
  • Plan the next iteration

There are other approaches that are less and more formal. The idea is to find and resolve software issues early. The ability to measure the effectiveness of a review, inspection or testing step allows the team to improve their software development process.

—

Fagan, Michael E. 1999. Design and code inspections to reduce errors in program development. IBM Systems Journal 38 (2/3): 258.

Jones, Capers. 1997. Applied Software Measurement: Assuring Productivity and Quality. New York: McGraw-Hill. Web. Note: now is 3rd edition 2008

Chrissis, Mary Beth, Mike Konrad, and Sandy Shrum. 2011. CMMI for Development Guidelines for Process Integration and Product Improvement. – “CMMI-DEV, Version 1.3”–Cover P. [1]. Web.

Boehm, Barry W. 1981. Software Engineering Economics. Englewood Cliffs, N.J.: Prentice-Hall. Web.


Related:

Electronics Failure Analysis Done the Right Way

The Basics of Derating Electronic Components

 

Filed Under: Articles, CRE Preparation Notes, Reliability Management Tagged With: Product development, Product life cycle

About Fred Schenkelberg

I am the reliability expert at FMS Reliability, a reliability engineering and management consulting firm I founded in 2004. I left Hewlett Packard (HP)’s Reliability Team, where I helped create a culture of reliability across the corporation, to assist other organizations.

« For Maximum Test Value, Take it to the Limit!
Product Reliability Design Guidelines »

Comments

  1. Hilaire Perera says

    October 18, 2016 at 3:04 PM

    A good information source on Software Reliability is ” IEEE Recommended Practice on Software Reliability IEEE Std 1633-2008 “

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

CRE Preparation Notes

Article by Fred Schenkelberg

Join Accendo

Join our members-only community for full access to exclusive eBooks, webinars, training, and more.

It’s free and only takes a minute.

Get Full Site Access

Not ready to join?
Stay current on new articles, podcasts, webinars, courses and more added to the Accendo Reliability website each week.
No membership required to subscribe.

Get Weekly Email Updates
  • CRE Preparation Notes
  • CRE Prep
  • Reliability Management
  • Probability and Statistics for Reliability
  • Reliability in Design and Development
  • Reliability Modeling and Predictions
  • Reliability Testing
  • Maintainability and Availability
  • Data Collection and Use

© 2025 FMS Reliability · Privacy Policy · Terms of Service · Cookies Policy

Book the Course with John
  Ask a question or send along a comment. Please login to view and use the contact form.
This site uses cookies to give you a better experience, analyze site traffic, and gain insight to products or offers that may interest you. By continuing, you consent to the use of cookies. Learn how we use cookies, how they work, and how to set your browser preferences by reading our Cookies Policy.