Trunk-Based Development
A source control branching model where developers integrate small, frequent changes directly into the main branch, avoiding long-lived feature branches and reducing merge conflicts.
Trunk-based development keeps all developers working on a single shared branch (main or trunk). Instead of creating feature branches that live for days or weeks, developers commit small incremental changes directly to trunk, often multiple times per day. Feature flags hide incomplete work from users until it is ready.
This approach minimizes integration pain. Long-lived branches diverge from the main codebase, creating complex merge conflicts and making it harder to reason about the system's current state. With trunk-based development, the codebase is always in a near-releasable state, and every commit is validated by CI within minutes.
The practice pairs naturally with CI/CD pipelines and feature flags. Developers commit code behind feature flags, CI validates each commit, and the feature is toggled on when complete. This workflow enables teams to deploy continuously while maintaining control over what users see, making it the preferred branching strategy for high-performing engineering organizations.
Related Terms
A/B Testing
A controlled experiment comparing two or more variants to determine which performs better on a defined metric, using statistical methods to ensure reliable results.
Feature Flag
A software mechanism that enables or disables features at runtime without deploying new code, used for gradual rollouts, A/B testing, and targeting specific user segments.
MLOps
The set of practices combining machine learning, DevOps, and data engineering to reliably deploy, monitor, and maintain ML models in production.
Model Serving
The infrastructure and systems that host trained ML models and handle inference requests in production, optimizing for latency, throughput, and cost.
Semantic Search
Search that understands the meaning and intent behind a query rather than just matching keywords, typically powered by embedding-based similarity comparison.
CI/CD (Continuous Integration / Continuous Deployment)
An automated software practice where code changes are continuously integrated into a shared repository, tested, and deployed to production, reducing manual intervention and accelerating delivery cycles.