Last updated: January 29, 2026

Terminology

Let's begin by establishing common terminology around words that are thrown around quite a bit, but never seem to quite find common understanding.

If you find that your organisation have invented their own terminology or use their own definitions, it can be beneficial to amend this as it can be devastating to an organisation to have differing opinions on words and how they are used. It can not only be a source of confusion but halt development and progress entirely. Unending discussions founded on misunderstandings, cognitive load on new employees that have to adapt their understanding to follow the company's deviance, etc.

Platform

This refers to anything that you can build off of. A platform can be many different things, and the term is usually accompanied by a prefix to designate exactly what kind of platform. Thus, the term itself is highly dependent on the context in which it is used if the prefix is omitted ‐ one should take great care in not confusing different platforms.

PrefixDescriptionExamples
SoftwareSoftware that enable you to build further software on top of it or by using it. Thus, a software platform is might be pre-built libraries, a repository or similar that offer ready-made functionality.Qt, ...
HardwareWhile more specific than just platform, this is still dependent on context. Hardware may refer to a specific chip, instruction set or similar.ARM, Risc-V, Intel, etc.
Computing...Linux, MacOS and Windows
MobileComputing platforms that are oriented specifically toward mobile devices.Android and iOS

Target

A target refers to anything a solution can be deployed onto. The type of target will of course depend on the nature of the project.

TypeTargetExamples
WebsiteHosting servicesAWS, etc.
EmbeddedChipSTM32, ESP32, etc.
Desktop ApplicationsComputing platformsLinux, MacOS, Windows
Mobile ApplicationsMobile platformsAndroid, iOS

Targets are usually the part we will be most interested in abstracting out of our software such that we can easily adapt to another target. Doing so also allow us to test and reason about our code separately, in isolation from a target, effectively removing the target from the equation of proving that our code works as intended — more on this in a later chapter.

Target Testing

This is an activity that places the system in a deployed setting and tests the behavior of the system by stimulating it using test cases defined by the requirements — not simulated, deployed on the intended target.

Domain

We will adopt this definition of what a domain constitutes.

A domain is a particular field of thought, activity, or interest, especially one over which someone has control, influence, or rights. ‐ Collin's Dictionary

These will typically be different departments or teams within the organisation — for instance, people developing or integrating wireless connectivity, like Bluetooth, is a domain.

Integration

We will adopt this definition of what an integration constitutes.

Integration, Noun: The action or process of integrating (see below).

Integrating, Verb: Combine (one thing) with another to form a whole.

Complexity

This is a word I find people might misuse quite a lot — sometimes to get their way by implying something is complex or complicated.

PrefixDescriptionExamples
AdjectiveConsisting of many different and connected parts....
AlgorithmicUsed to succintly explain the run-time efficiency of an algorithm.O(1)O(1), O(nlogn)O(n \log n), O(n2)O(n^2)
KolmogorovInformation analysis allowing for quantifying ......

Note from Author

Fill in the table above

Summary

  • Never use opinion- or company defined meanings for terms. Use the actual definition of the word. The former is a source of confusion and can cause significant inefficiencies in workflow.