Why Is Quality Assurance Vital to Avionics?Diwakar Konda
Listen on the go!
Quality assurance – A planned and systematic means for assuring management that the defined standards, practices, procedures, and methods of the process are applied.
CMMI® for Development, Version 1.3, CMMI Institute
Quality assurance plays a key role in any industry to meet the customer expectations and more, and thus has become vital in today’s fast moving technology. The Avionics industry is no exception.
This blog aims to provide an approach to QA in the avionics industry, the software development life cycle, and its compliance requirements towards ED109/DO 278A. This is a regulatory standard that is a must for organizations to go operational or commercial in aviation.
Let us have a look at some references in the avionics industry where one of the prevention strategies used was to improve the QA protocols to have a robust QA in place.
Reference 1: Maintenance Error Decision Aid (MEDA), a robust structured process that helped an airline reduce maintenance delays by 16% and another airline to cut operationally significant events by 48%.
A study by Boeing Team, AERO_Q207 of Aeromagazine
Reference 2: Challenger Space Shuttle explosion, 1986. The NASA Shuttle Challenger exploded minutes after takeoff, resulting in the tragic death of all seven astronauts on board. The hardware failure of a solid rocket booster (SRB) ‘O’ ring was cited as the immediate mechanical cause, but human culpability lay with the decision-making process behind the launch. An extensive report points to a flawed Group Decision Support System (GDSS), which misrepresented risk and failed to communicate concerns surrounding quality assurance.
A report by Jeff Forest from the Metropolitan State College
Reference 3: European Space Agency, 1996 – An unmanned rocket was forced to self-destruct when guidance computer tried to convert sideways velocity from 64-bit to 32-bit format. The root cause was identified to be several unjustified shortcuts that were taken. To handle such solutions, new QA protocols are required to ensure that future calculations are made in the proper format.
All the above 3 references are related to QA processes. Reference 1 has proactively applied a robust QA framework that has improved their operational efficiency, whereas reference 2 and 3 are a big failure in the history of avionics due to lack of efficient QA framework. So, Quality Assurance (QA) in avionics with safety critical paths becomes more vital and should be robust in nature.
Systems and Software Life Cycle
Now, let’s try to understand how avionics products are developed and their life cycle. Most of the organizations that develop avionics products follow their governing country’s defence or military defined processes and procedures as a foundation and add any customer specific frameworks, etc.
The first step of an avionics product in ideation starts from identifying the safety critical function. Post this, an adequate analysis needs to be performed to reduce the safety risks in any program. This has led to the evolution of safety engineering which is a subset of the system engineering domain. The key responsibility is to ensure that acceptable levels of safety risks are achieved and maintained across the product development life cycle.
Safety engineering is the responsibility of everyone who is a part of the end-to-end development of safety critical products. This includes a QA to understand the safety risks in the life cycle and ensure that the processes are laid in accordance with the safety requirements.
Product Development Life Cycle in Avionics
Refer to the following figure to get familiar with the typical life cycle of a product development in avionics. QA begins from the start of the life cycle to understand the processes and ensure the checks are laid out across the life cycle with a comprehensive checklists or templates.
Life cycle (Figure – 1)
Requirements Decomposition (Figure – 2)
Requirements are decomposed from the system by a thorough safety assessment of all the system elements and their enabling elements.
Role of QA in the Life Cycle
Now, as we are familiar with the life cycle and deriving the requirements in Avionics, let’s understand the role of Quality Assurance in the life cycle.
“The SQA process provides assurance that the software life cycle processes produce software that conforms to its requirements by assuring that these processes are performed in compliance with the approved software plans and standards.”
Per ED109 standard
The ED 109 standard requires having an independent assessment of quality at all assurance levels.
QA should address the following objectives.
- Develop a Quality Management System (QMS) that includes processes, guidelines, standards, checklists, and templates shall comply with standard (ED109) requirements.
- Ensure that software development plans and standards are developed and approved.
- The transition criteria of each phase of software development life cycle are satisfied.
- Any deviation from the plans and standards during software development life cycle must be identified, reported, and analyzed with closure.
- Ensure all proper controls are in place for its integral processes that include software verification process, software configuration, & change management process.
- Ensure that life cycle data is available and audited for compliance.
Apart from defining the QMS, QA review should be a checklist driven assessment that is comprehensive and well defined with transition criteria. Also, there should be a stringent gate criteria for all the phases of software life cycles. This helps the QA to gain confidence on the software. Following is the reference or an example of gate checks.
QA alignment to SDLC (Figure – 3)
You have heard of transition criteria and life cycle data in the objectives. Understanding them is crucial in building a comprehensive checklist and to perform a conformity review per ED109 standard.
Transition criteria are defined as “the minimum conditions, as defined by the software planning process, to be satisfied to enter a process.” – The Avionics Handbook.
To produce a safety critical system and efficient software, QA needs to provide confidence that the life cycle processes are verified. If there’s a need, of a third-party assessment, Transition definition (includes Entry & Exit Criteria) are to be developed during the planning phase of a software development and agreed with the stakeholders.
Let’s take an example of the Testing Phase to understand the Transitions of software life cycle in avionics. Refer following figure:
Transition Criteria (Figure – 4)
One of the QA objectives is to ensure the transition criteria of the software life cycle is satisfied. The QA should perform this assessment as gate review or toll gate checks during the software life cycle.
Life Cycle Data
To meet the process objectives of ED 109, we must understand the need for life cycle data that needs a detailed review and will help in performing the conformity review of any non-airborne systems. Based on the assurance levels, comprehensiveness of the component will be identified during the planning process. During the conformity reviews, QA should ensure all the process objectives are compliant with the development plan and meet the criteria identified in the Plan for Software Aspects for Approval (PSAA).
Following is a list of key components of ED 109 process objectives that must be adhered.
SOFTWARE PLANNING PROCESS
- Plan for Software Aspects of Approval (PSAA)
- Software Development Plan
- Software Verification Plan
- Software Configuration Management Plan
- Software Quality Assurance Plan
- Software Requirements Standards
- Software Design Standards
- Software Code Standards
SOFTWARE DEVELOPMENT PROCESSES
- Software Requirements Data
- Design Description
- Source Code
- Executable Object Code
- Adaptation Data
SOFTWARE SUPPORT PROCESSES
- Software verification results
- Software Quality Assurance Records
- Software Configuration
- Software Configuration Management (SCM) Records
- Software Configuration Index
- Software Life Cycle Environment Configuration Index
A robust QA framework is vital to the avionics industry and QA should be involved well in advance of any system development life cycle to build and establish the processes, standards, plan, guidelines, checklists, and templates. A well-organized QA journey will always succeed in life cycle.
Software Testing and Quality Assurance are empowering todays Avionics industry to offer efficient products and services with confidence. Whether its network, application, or device testing, Quality Assurance is fundamental for sustaining in this highly competitive sector.
Cigniti is focused on helping the industries tackle the aforementioned challenges and invests in, and supports, innovations and research for the same. Our integration and advisory services help understand the real underlying needs of your organization, thereby assessing how best to overcome the persistent challenges.
Connect with us to establish a relevant QA and testing strategy for the avionics domain.
It is to be noted that the approach or solution suggested is based on the authors perspective or experience, and not to be correlated directly for compliance to any standards or models.