Quality engineering is the discipline of engineering concerned with the principles and practice of product and service quality assurance and control. In software development, it is the management, development, operation and maintenance of IT systems and
enterprise architectures with a high quality standard.
Description
Quality engineering is the discipline of engineering that creates and implements strategies for quality assurance in product development and production as well as software development.
Quality Engineers focus on optimizing product quality which
W. Edwards Deming defined as:
::
Quality engineering body of knowledge includes:
* Management and leadership
* The quality system
* Elements of a quality system
* Product and process design
* Classification of quality characteristics
* Design inputs and review
* Design verification
* Reliability and maintainability
* Product and process control
* Continuous improvement
* Quality control tools
* Quality management and planning tools
* Continuous improvement techniques
* Corrective action
* Preventive action
* Statistical process control (SPC)
* Risk management
Roles
Auditor: Quality engineers may be responsible for auditing their own companies or their suppliers for compliance to international quality standards such as
ISO9000 and
AS9100
AS9100 is a widely adopted and standardized quality management system for the aerospace industry.
It was released in October, 1999, by the Society of Automotive Engineers and the European Association of Aerospace Industries.
AS9100 replaces the ...
. They may also be independent auditors under an auditing body.
Process quality: Quality engineers may be tasked with value stream mapping and statistical process control to determine if a process is likely to produce defective product. They may create inspection plans and criteria to ensure defective parts are detected prior to completion.
Supplier quality: Quality engineers may be responsible for auditing suppliers or performing root cause and corrective action at their facility or overseeing such activity to prevent the delivery of defective product.
Software
IT services are increasingly interlinked in workflows across platform boundaries, device and organisational boundaries, for example in cyber-physical systems, business-to-business workflows or when using cloud services. In such contexts, quality engineering facilitates the necessary all-embracing consideration of quality attributes.
In such contexts an "end-to-end" view of quality from management to operation is vital. Quality engineering integrates methods and tools from
enterprise architecture-management,
Software product management,
IT service management
Information technology service management (ITSM) is the activities that are performed by an organization to design, build, deliver, operate and control information technology (IT) services offered to customers.
Differing from more technology-or ...
,
software engineering
Software engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term ' ...
and
systems engineering
Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design, integrate, and manage complex systems over their life cycles. At its core, systems engineering utilizes systems thinking ...
, and from
software quality management and
information security management. This means that quality engineering goes beyond the classic disciplines of software engineering, information security management or software product management since it integrates management issues (such as business and IT strategy, risk management, business process views, knowledge and information management, operative performance management), design considerations (including the
software development process
In software engineering, a software development process is a process of dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design, product management. It is also known as a software deve ...
,
requirements analysis
In systems engineering and software engineering, requirements analysis focuses on the tasks that determine the needs or conditions to meet the new or altered product or project, taking account of the possibly conflicting requirements of the ...
,
software testing
Software testing is the act of examining the artifacts and the behavior of the software under test by validation and verification. Software testing can also provide an objective, independent view of the software to allow the business to apprecia ...
) and operative considerations (such as configuration, monitoring,
IT service management
Information technology service management (ITSM) is the activities that are performed by an organization to design, build, deliver, operate and control information technology (IT) services offered to customers.
Differing from more technology-or ...
). In many of the fields where it is used, quality engineering is closely linked to compliance with legal and business requirements, contractual obligations and standards. As far as quality attributes are concerned, reliability, security and safety of IT services play a predominant role.
In quality engineering, quality objectives are implemented in a collaborative process. This process requires the interaction of largely independent actors whose knowledge is based on different sources of information.
Quality objectives
Quality objectives
The ISO 9000 family is a set of five quality management systems (QMS) standards that help organizations ensure they meet customer and other stakeholder needs within statutory and regulatory requirements related to a product or service. ISO 90 ...
describe basic requirements for
software quality
In the context of software engineering, software quality refers to two related but distinct notions:
* Software functional quality reflects how well it complies with or conforms to a given design, based on functional requirements or specification ...
. In quality engineering they often address the quality attributes of availability, security, safety, reliability and performance. With the help of quality models like ISO/IEC 25000 and methods like the
Goal Question Metric approach it is possible to attribute metrics to quality objectives. This allows measuring the degree of attainment of quality objectives. This is a key component of the quality engineering process and, at the same time, is a prerequisite for its continuous monitoring and control. To ensure effective and efficient measuring of quality objectives the integration of core numbers, which were identified manually (e.g. by expert estimates or reviews), and automatically identified metrics (e.g. by statistical analysis of source codes or automated regression tests) as a basis for decision-making is favourable.
Actors
The end-to-end quality management approach to quality engineering requires numerous actors with different responsibilities and tasks, different expertise and involvement in the organisation.
Different roles involved in quality engineering:
* Business architect,
* IT architect,
* Security officer,
* Requirements engineer,
* Software quality manager,
* Test manager,
* Project manager,
* Product manager and
* Security architect.
Typically, these roles are distributed over geographic and organisational boundaries. Therefore, appropriate measures need to be taken to coordinate the heterogeneous tasks of the various roles in quality engineering and to consolidate and synchronize the data and information necessary in fulfilling the tasks, and to make them available to each actor in an appropriate form.
Knowledge management
Knowledge management
Knowledge management (KM) is the collection of methods relating to creating, sharing, using and managing the knowledge and information of an organization. It refers to a multidisciplinary approach to achieve organisational objectives by making ...
plays an important part in quality engineering.
The quality engineering knowledge base comprises manifold structured and
unstructured data
Unstructured data (or unstructured information) is information that either does not have a pre-defined data model or is not organized in a pre-defined manner. Unstructured information is typically text-heavy, but may contain data such as dates, n ...
, ranging from code repositories via requirements specifications, standards, test reports, enterprise architecture models to system configurations and runtime logs. Software and system models play an important role in mapping this knowledge. The data of the quality engineering knowledge base are generated, processed and made available both manually as well as tool-based in a geographically, organisationally and technically distributed context. Of prime importance is the focus on
quality assurance tasks, early recognition of risks, and appropriate support for the collaboration of actors.
This results in the following requirements for a quality engineering knowledge base:
* Knowledge is available in a quality as required. Important quality criteria include that knowledge is consistent and up-to-date as well as complete and adequate in terms of granularity in relation to the tasks of the appropriate actors.
* Knowledge is interconnected and traceable in order to support interaction between the actors and to facilitate analysis of data. Such traceability relates not only to interconnectedness of data across different levels of abstraction (e.g. connection of requirements with the services realizing them) but also to their traceability over time periods, which is only possible if appropriate versioning concepts exist. Data can be interconnected both manually as well as (semi-) automatically.
* Information has to be available in a form that is consistent with the
domain knowledge
Domain knowledge is knowledge of a specific, specialized discipline or field, in contrast to general (or domain-independent) knowledge. The term is often used in reference to a more general discipline—for example, in describing a software eng ...
of the appropriate actors. Therefore, the knowledge base has to provide adequate mechanisms for information transformation (e.g. aggregation) and visualization. The
RACI concept is an example of an appropriate model for assigning actors to information in a quality engineering knowledge base.
* In contexts, where actors from different organisations or levels interact with each other, the quality engineering knowledge base has to provide mechanisms for ensuring confidentiality and integrity.
* Quality engineering knowledge bases offer a whole range of possibilities for analysis and finding information in order to support quality control tasks of actors.
Collaborative processes
The quality engineering process comprises all tasks carried out manually and in a (semi-)automated way to identify, fulfil and measure any quality features in a chosen context. The process is a highly collaborative one in the sense that it requires interaction of actors, widely acting independently from each other.
The quality engineering process has to integrate any existing sub-processes that may comprise highly structured processes such as
IT service management
Information technology service management (ITSM) is the activities that are performed by an organization to design, build, deliver, operate and control information technology (IT) services offered to customers.
Differing from more technology-or ...
and processes with limited structure such as
agile software development
In software development, agile (sometimes written Agile) practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/ end user(s), ...
. Another important aspect is change-driven procedure, where change events, such as changed requirements are dealt with in the local context of information and actors affected by such change. A pre-requisite for this is methods and tools, which support change propagation and change handling.
The objective of an efficient quality engineering process is the coordination of automated and manual
quality assurance tasks. Code review or elicitation of quality objectives are examples of manual tasks, while regression tests and the collection of code metrics are examples for automatically performed tasks. The quality engineering process (or its sub-processes) can be supported by tools such as ticketing systems or security management tools.
See also
*
Seven Basic Tools of Quality
*
Engineering management
Engineering management is the application of the practice of management to the practice of engineering.
Engineering management is a career that brings together the technological problem-solving ability of engineering and the organizational, admini ...
*
Manufacturing engineering
Manufacturing engineering or production engineering is a branch of professional engineering that shares many common concepts and ideas with other fields of engineering such as mechanical, chemical, electrical, and industrial engineering.
Manufa ...
*
Mission assurance Mission Assurance is a full life-cycle engineering process to identify and mitigate design, production, test, and field support deficiencies threatening mission success.
Aspects of Mission Assurance
Mission Assurance includes the disciplined app ...
*
Systems engineering
Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design, integrate, and manage complex systems over their life cycles. At its core, systems engineering utilizes systems thinking ...
*
W. Edwards Deming
Associations
*
American Society for Quality
The American Society for Quality (ASQ), formerly the American Society for Quality Control (ASQC), is a society of quality professionals, with nearly 80,000 members.
History
ASQC was established on 16 February 1946 by 253 members in Milwaukee, ...
*
INFORMS
The Institute for Operations Research and the Management Sciences (INFORMS) is an international society for practitioners in the fields of operations research (O.R.), management science, and analytics. It was established in 1995 with the merger of ...
*
Institute of Industrial Engineers
The Institute of Industrial and Systems Engineers (IISE), formerly the Institute of Industrial Engineers, is a professional society dedicated solely to the support of the industrial engineering profession and individuals involved with improving ...
External links
Txtureis a tool for textual IT-Architecture documentation and analysis.
mbeddris a set of integrated and extensible languages for embedded software engineering, plus an integrated development environment (IDE).
qeunit.comis a blog on QE matters
References
{{reflist
Enterprise architecture
Engineering disciplines
Systems engineering
Software quality
Knowledge management