Harness Engineering: How to Build a Software Factory — Dru Knox, Tessl
Dru Knox of Tessl discusses harness engineering, the discipline for building software factories with AI agents. He outlines a factory's three pillars—autonomy, automation, quality—and introduces inner, outer, and meta loops. Knox explains why this field is challenging and proposes a three-layer architecture: control plane, agent-ready stack, and improvement loops, concluding with key metrics to track progress towards an agent-driven software development future.
Dru Knox, Head of Product & Design at Tessl, introduces Harness Engineering (also known as Loop Engineering) as a new discipline essential for building a Software Factory using AI coding agents. This talk is geared towards those already using coding agents, finding them effective for easy to medium complexity tasks, and now looking to scale.
What is a Software Factory?
Knox defines a software factory as an agentic system where all end products shipped to users are created by agents. In this model, software engineering teams focus on building and refining the “factory” itself, aiming for increased autonomy, automation, and quality.
He outlines three key metrics for a software factory:
- Autonomy: The extent to which agents can solve problems without human intervention (e.g., one-shotting solutions).
- Automation: The level of trust in agent-generated solutions, allowing them to run without extensive human review or manual verification. (Distinction: high autonomy doesn’t automatically mean high automation, as trust must be built).
- Quality: The inherent quality of the product delivered to users, measured by standard metrics like user analytics, test quality, and test coverage.
The typical progression involves improving autonomy, then automation (while maintaining quality), ultimately leading to an increase in overall quality. While many see factories as a way to ship faster, Knox argues the real, long-term payoff is higher quality. A software factory eliminates backlogs, provides capacity for improvements (e.g., test quality, architectural refactors), and fosters a more dynamic, inclusive development experience by allowing non-technical roles to contribute ideas more easily.
Harness Engineering: The Core Discipline
Harness engineering is the practice of building and refining the loops that automate and improve the quality of a software factory. These loops are categorized into three types:
- Inner Loop: Operates before a Pull Request (PR) is created. These are fast, cheap, and iterative checks that agents run continuously. Improvements in the inner loop directly drive autonomy by catching and correcting agent mistakes without human intervention.
- Outer Loop: Engages after a PR is submitted. These involve more expensive, exhaustive checks that are not suitable for continuous iteration but are crucial for building confidence. Examples include agentic QA or mutation testing to assess test suite quality. The outer loop aims to reduce human review time.
- Meta Loop: Operates outside the direct development process. It observes agent logs, PRs, issue trackers, and user feedback to identify mistakes that slip through the pipeline or require human correction. The meta loop feeds these learnings back into the inner and outer loops to prevent future recurrences, thus driving overall quality and increasing the