Skip to content
michael.caisse.io michael.caisse.io
c++ quality abstraction composition

Lasting Quality

Constructing quality software systems is a moral responsibility. Attending to the elements of Structural Quality while embracing Abstraction & Composition enables quality today and quality that lasts.

M

Michael Caisse

60 minutes

Event: cppnow

Abstract

Software quality is often described as having three facets: Structural, Functional, and Process. Much fuss is allocated to Functional Quality while meeting the Process Quality goals of dates and budgets; however, Structural Quality is the stuff of Software Engineering and affects all aspects of a project for its entire lifecycle. A car can get you from point A to point B safely but if you have to pull the engine out for an oil change, it fails the structural quality test. Much of the software writing across industry focuses on function and schedule but has no concern for malleability or maintainability.

Structural Quality includes Testability, Malleability/Maintainability, Understandability, Efficiency, and Security. In this talk, we will explore these aspects from the perspective of architecture, design, and implementation strategies. While there is no single “silver bullet”, there are a few strategies that have substantial impact on quality. We will look at these strategies in the concrete with implementations in embedded firmware; a domain that often neglects Structural Quality because of perceived resource constraints (memory and/or cycles).

Please join me as we discuss software engineering and practical solutions that are enable via contemporary C++.

Play the video