Accendo Reliability

Your Reliability Engineering Professional Development Site

  • Home
  • About
    • Contributors
    • About Us
    • Colophon
    • Survey
  • Reliability.fm
  • 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 Manufacturing Academy
  • eBooks
  • Resources
    • Accendo Authors
    • FMEA Resources
    • Glossary
    • Feed Forward Publications
    • Openings
    • Books
    • Webinar Sources
    • Podcasts
  • Courses
    • Your Courses
    • 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
    • Foundations of RCM online course
    • Reliability Engineering for Heavy Industry
    • How to be an Online Student
    • Quondam Courses
  • Calendar
    • Call for Papers Listing
    • Upcoming Webinars
    • Webinar Calendar
  • Login
    • Member Home
  • Barringer Process Reliability Introduction Course Landing Page
  • Upcoming Live Events
You are here: Home / Articles / on Product Reliability / Apex Ridge / Software Design For Reliability

by Adam Bahret 1 Comment

Software Design For Reliability

Software Design For Reliability

With all the complaints you hear about products rebooting and software crashing, do companies really practice Software Reliability? In fact, there are some companies that do, but they are mostly in the industries that require products to have high availability, such as telecom, defense, and space, or safety-averse industries, such as medical and industrial plant operation. Most other industries don’t pay as much attention to it. The best method to increase Software Reliability without significant increases to schedules or budgets is to use a Software Design for Reliability (SDFR) approach.  These are the key steps.pass fail Profile_Montecarlo

Software Reliability Assessment

Before starting a Software Reliability program, perform a Software Reliability Assessment by assessing your team’s capability to produce good software. Benchmark your development practices against industry best practices to ensure they have a solid foundation upon which to integrate the other reliability services. The benchmark study will help you fill in gaps by identifying existing internal best practices and techniques to yield the desired results. It will also help define a set of reliability practices to move defect prevention and detection tasks as far upstream in the development cycle as possible. Once you complete the assessment, choose the specific software techniques and integrate  Software Reliability throughout the lifecycle of your program.

Software Reliability Integration in the Concept Phase

In the concept phase, there are two main Software Reliability techniques:

  1. Software Reliability Goal Setting
  2. Software Reliability Program Plan

Perform a Software Reliability Goal Setting by defining system-level software reliability goals. These goals become part of the overall Software Reliability Program Plan. Apply the goals to the design and testing phases.robust design and variability

Software Reliability Integration in the Design Phase

In the design phase, there are six main Software Reliability techniques:

  1. Facilitation of Team Design Template Reviews
  2. Facilitation of Team Design Reviews
  3. Software Failure Modes and Effects Analysis (SFMEA)
  4. Software Fault Tree Analysis (SFTA)
  5. Software Failure Analysis
  6. Software Fault Tolerance

Use the technique Facilitation of Team Design Template Reviews to conduct group pre-design review meetings, which provide your team with forums to expand their knowledge base of design techniques by exchanging design templates. Your team will greatly improve their design inspection results if the inspections are preceded by brief, informal reviews that are highly interactive at multiple points throughout the progression from system architecture through low-level design. This is known as the Facilitation of Team Design Reviews. Use Software Failure Modes and Effects Analysis (SFMEA) and Software Fault Tree Analysis (SFTA) to identify and mitigate failure modes in software, similarly to how you used FMEA and FTA for hardware. Prior to the final stage of a design, use  Software Failure Analysis to identify core and vulnerable sections of the software that may benefit from additional run-time protection by incorporating Software Fault Tolerance techniques.software reliability curve

Software Reliability Integration in the Implementation Phase

In the implementation phase, there are two main Software Reliability techniques:

  1. Facilitation of Code Reviews
  2. Software Robustness and Coverage Testing

For Facilitation of Code Reviews, use reliability reviews to target the core and vulnerable sections of code to allow the owner of the source code to develop sufficient synergy with a small team of developers in finding defects. Use system testing efforts to focus on efficient detection of software faults using Software Robustness and Coverage Testing techniques for thorough module-level testing.

Software Reliability Integration in the Testing Phase

In the testing phase, there are four main Software Reliability techniques:

  1. Software Reliability Measurements and Metrics
  2. Usage Profile-Based Testing
  3. Software Reliability Estimation
  4. Software Reliability Demonstration Tests

Use Software Reliability Measurements and Metrics to track the number of remaining software defects, to calculate the Software mean time to failure (MTTF), and to anticipate when the software is ready for deployment. You will be able to apply Usage Profile-Based Testing methods to emphasize test cases based on their anticipated frequency of execution in the field. One important new technique in Software Reliability is Software Reliability Growth.

All of these steps appear as a large resource requirement in the schedule and man hours. But time and time again it has been shown that in the full program ROI analysis that including this methodology brings a net gain in product and program performance that can be measured even before customer delivery.

-Adam

Filed Under: Apex Ridge, Articles, on Product Reliability

About Adam Bahret

I am a Reliability engineer with over 20 years of experience in mechanical and electrical systems in many industries. I founded Apex Ridge Reliability as a firm to assist technology companies with the critical reliability steps in their product development programs and organizational culture.

« Retaining Knowledge to Reduce Risks
Root Cause Analysis: The Key To Breaking The Reactive Cycle »

Comments

  1. Larry Weaver says

    January 3, 2018 at 5:46 PM

    Thanks for explaining that software reliability Measurements and Metrics is the first technique of the testing phase. Having product reliability software that works through all of the techniques in the testing phase would be the type of software I would look for. If I were to get product reliability software, I would be sure to get it from a professional company.

    Reply

Leave a Reply to Larry Weaver Cancel reply

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

Article by Adam Bahret
in the Apex Ridge series

Join Accendo

Receive information and updates about articles and many other resources offered by Accendo Reliability by becoming a member.

It’s free and only takes a minute.

Join Today

Recent Articles

  • Leadership Values in Maintenance and Operations
  • Today’s Gremlin – It’ll never work here
  • How a Mission Statement Drives Behavioral Change in Organizations
  • Gremlins today
  • The Power of Vision in Leadership and Organizational Success

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