← The journey

Proving a truck safe enough to drive with nobody in it

Tech lead for the verification and validation strategy behind driverless operation — the objective evidence that has to exist before the safety driver can get out.

There is a moment in every autonomous driving programme that everything else is arranged around: the moment the safety driver gets out.

Up to that point, a human being is sitting behind the wheel absorbing risk. They are the answer to a very large number of awkward questions, and their presence lowers the bar for everything else. Once they are gone, every one of those questions comes back, and this time the answer has to be written down.

Leading the verification and validation effort for driverless, unsupervised public-road operation is the work I am doing now, and it is among the most success-critical parts of the programme. Not because it is the hardest engineering — the perception and planning teams would have something to say about that — but because it is the part that decides whether any of the rest of it is allowed to leave the test track.

The safety case is a claim; V&V is the evidence

A safety case is an argument. It says: this system is acceptably safe for this operational design domain, and here is why. The argument is only as good as the evidence underneath it, and evidence at this scale is not something you collect. It is something you manufacture, continuously, with machinery built for the purpose.

That is what the V&V strategy has to deliver. Not a test plan — pipelines. Systems engineering defines what has to be shown. Software builds the execution. Data engineering makes the volume tractable and the results queryable. My job is to hold the shape of the whole thing: to know which claim each pipeline serves, and to notice when we are producing a great deal of evidence for something nobody is asking about.

Coordinating across those disciplines is most of the role. The technical decisions are rarely made in isolation, and the failure mode is not a wrong decision — it is three teams making locally reasonable decisions that do not compose into an argument.

Two standards, two different anxieties

The safety work splits along a line that took me a while to appreciate properly.

ISO 26262 — functional safety — asks what happens when something breaks. I am responsible for the verification and validation of the Functional Safety Concept: the argument that our safety mechanisms detect and handle the failures we claim they do.

ISO 21448 — SOTIF, the safety of the intended functionality — asks the harder question. Nothing broke. Every component performed exactly as designed. And the outcome was still unsafe, because the world presented a situation the design did not anticipate. There is no fault to find, which means there is no fault to fix, which means the only defence is knowing the shape of your own ignorance.

The V&V strategy is a core pillar of the higher-level safety case that sits above both, and SOTIF is the reason that strategy cannot simply be “write more tests”. You cannot test your way out of a space you have not characterised. Both of my conference talks are, in different words, about that problem.

Five spaces, not a sequence

People expect a programme like this to run on stage gates — a system requirements review, a preliminary design review, a critical design review, each one a milestone you either pass or do not. We do not have them, and I would not want them.

Stage gates assume the requirements hold still long enough for a gate to mean something. Ours do not. A stakeholder changes what they need; a truck comes back from a week of public road operation having seen something nobody had thought of. Either event invalidates work that a gate had already blessed.

What replaces them is not a pipeline. It is easy to describe this as a chain of artefacts updated in order, and I have caught myself doing it, but the ordering is the least interesting part. What actually holds the thing together is a separation of concerns, and ISO/IEC/IEEE 15288 gives it its shape: five spaces.

The five spaces of the engineering V, with a feedback loop from operations Problem space at top left, solution space below it, implementation space at the bottom, verification space up the right side, validation space at top right. Problem is validated against validation; solution is verified against verification. An arrow runs from validation back to problem, showing that learning from operations re-baselines every artefact upstream rather than the process running once as a waterfall. Continuous learning from operations re-baselines every artefact upstream Problem space Operational design domain Topographies Functional scenarios Stakeholder requirements — legislative and customer Validation space Was the right problem solved? Statistical evidence that every stakeholder requirement holds metrics · operational data Solution space System specification Decision logics · atomic features Functions and their requirements Behaviour → manoeuvre → function perception, localization, planning, control Verification space Does the delivered system match the specification, under controlled conditions? SiL · HiL · closed course · public road Implementation space Hardware and software built to the specification validated against verified against
The shape is the engineering V, but the dashed loop across the top is what makes it honest: nothing here runs once. A change request or a finding from public-road operation enters wherever it applies, and every artefact downstream of it is re-derived and re-baselined.

Problem space describes the world and what is expected in it, and says nothing at all about our system: the operational design domain, the topographies, the functional scenarios, and the stakeholder requirements — which for us arrive from two directions at once, legislation and the customer.

Solution space is the specification that solves that problem. This is where our own decomposition lives: decision logics, atomic features and their requirements, functions and function requirements. That is how a problem stated in terms of driving becomes a specification at descending levels of abstraction — behaviour, then manoeuvre, then the individual functions of perception, localization, planning and control.

Implementation space is the hardware and the software, built to that specification.

Then the two on the right, and the discipline is in what each is forbidden to know.

Verification space is ignorant of the problem. It asks one question — does the system as delivered match the specification? — and answers it in controlled conditions.

Validation space is ignorant of the solution. It does not care what we specified or how we built it. It asks whether the problem has actually been solved and every stakeholder expectation met.

That mutual ignorance is the whole point, and it is the thing a stage gate cannot give you. A verification that knows the problem starts quietly excusing the specification. A validation that knows the solution starts grading the system against what it happens to do rather than against what was needed.

Why the metrics live on the right-hand side

Metrics belong to validation space, and they are statistical because they have no choice.

A verification result is a fact about specific conditions: under this scenario, with these parameters, the system did what the specification said. A stakeholder requirement is not a claim about specific conditions. It is a claim about always — and “always”, in a world as large as public roads, is not something a test can demonstrate. You establish it by accumulating enough operational evidence to say something defensible about a distribution you can never enumerate.

That is also why the baseline matters more than the gate. Granular traceability between the atomic items of each artefact is held as relationships in PALM, the lifecycle platform we built to replace Jama, and consistency across them is checked by AI agents, because at this scale nobody notices by reading that a scenario moved and three test cases downstream no longer follow from it. The baseline is what a gate was supposed to give you — a known, frozen, referenceable state — except it is produced on demand by a change rather than on a date by a calendar.

I have some sympathy for the stage-gate model. It is legible, and it forces a conversation to happen on a date. But it buys that legibility by pretending the world holds still, and in autonomy the world is the thing you are trying to characterise.

Who supplies whom

We supply software to our customers, which makes the internal structure less obvious than it sounds. From the systems team’s point of view the supplier is the software and data teams: they produce the pipelines, the tooling and the data products that the V&V effort consumes.

Much of my week is that negotiation — establishing what V&V needs, agreeing what will be delivered and when, and tracking it against a release that has a date. It is supplier management with the contract replaced by a shared employer, which removes the leverage and leaves only the part that was always doing the work: being specific about what you need and why, early enough that it can be planned rather than escalated.

One scenario, four environments

Verification is where the strategy turns into environments, and choosing them is the part of the job I find most interesting.

They are not a ladder where higher means better. Each integrates something different. Software-in-the-loop tests and integrates individual software components — cheap and endlessly repeatable, which is where a scenario runs ten thousand times with its parameters perturbed. Hardware-in-the-loop integrates the software with the hardware it will run on, and so with the whole class of problems that exist only because a signal arrived four milliseconds late. Closed course and public road integrate and test the system as a whole: real physics, real sensors, and on the road a world you did not author.

What ties them together is the scenario. The same scenario that exercises the planner as a single software component in SiL exercises the entire vehicle on a closed course. That reuse is why scenario-driven testing was worth building instead of a set of per-environment test suites — the environment changes what is integrated, not what is being asked.

Each environment is designed around what it is meant to catch. I think of the targets as three distinct things, because they fail differently:

That third one is SOTIF’s territory, and it is the reason you cannot simply run more tests at the cheapest level. A performance insufficiency does not show up as a red result. It shows up as a green result on a test that was never asking the right question — which is why it is answered on the validation side, statistically, rather than by adding verification runs.

So the design work is matching method to level to safety-relevant aspect: deciding what each environment is genuinely capable of demonstrating, and refusing to let a cheap environment carry an argument it cannot support. My formal functional safety training — a week covering FMEA and the wider family of inductive and deductive analysis methods — is what gave me the vocabulary for the other half of that. Reasoning bottom-up from a component failure to its effect, and top-down from a hazard to the things that could cause it, are two different habits of mind, and a test strategy needs both. One tells you what to look for. The other tells you when you have looked enough.

The company’s process auditor

Alongside the programme work I became the internal process auditor for the organisation, and completed two weeks of training as a provisional ASPICE assessor. When a business unit inside the company wants to reach process compliance, I am the first person they come to.

I did not expect to enjoy this as much as I do. Assessing somebody else’s process is the fastest way I have found to see your own clearly — you spend a week asking a team to show you the traceability from a requirement to its verification, and you come back to your own programme with different eyes.

The part that is not technical

A share of every week goes somewhere other than engineering: mentoring — programme managers, junior systems engineers, senior ones — and advising directors and VPs on technical decisions. A handful of times over the years that has meant presenting to our CTO, which is a different exercise again, and rare enough that I still remember each one.

That is not an interruption to the Staff role. It is a large part of what the role is.

Those audiences want opposite things. An engineer needs the reasoning, because they have to extend it. An executive needs the consequence and the confidence attached to it, because they have to bet on it. Learning to give each of them the version they can act on, without diluting it into something true but useless, is the hardest part of the job — harder than the standards.

Placeholder image standing in for a photograph of an autonomous truck cab
Placeholder — replace with a real photograph. Placeholder

Sources