In 1950s air combat, Soviet MiG-15 jets consistently outperformed American F-86 Sabres in technical specifications—faster climbs, tighter turns, superior visibility. Yet in actual dogfights, F-86 pilots won 90% of engagements. This paradox puzzled military strategists until Colonel John Boyd analyzed the anomaly, uncovering a principle that resonates deeply in modern software development: speed of iteration beats quality of iteration.

Article illustration 2

Boyd discovered the F-86's advantage lay in its hydraulic flight control system. While the MiG-15 required strenuous physical effort for each maneuver, the hydraulic system reduced pilot fatigue. This allowed F-86 pilots to complete their OODA loops (Observe-Orient-Decide-Act) faster. As engagements progressed, MiG pilots slowed due to exhaustion while Sabre pilots maintained rhythm. Boyd concluded victory wasn't about superior aircraft design but faster operational cycles.

This insight—dubbed Boyd's Law—mirrors foundational software engineering practices:

  • Agile Sprints: Short iterations (1-4 weeks) enable rapid feedback over waterfall's monolithic approach
  • Continuous Testing: Small, fast unit tests run per-build catch failures early
  • Evolutionary Design: Lightweight, evolving specifications beat exhaustive upfront planning
  • User Feedback: Frequent releases validate assumptions quicker than perfect-but-late delivery

As Roger Sessions noted in his analysis of enterprise architecture, the F-86/MiG-15 analogy demonstrates how marginal reductions in iteration friction compound dramatically over time. In software, this manifests as technical debt slowing development velocity: manual deployment processes, monolithic test suites, or cumbersome approval chains act like the MiG's heavy flight controls, gradually exhausting teams.

Modern implications are clear:

"The primary determinant to winning isn't observing, orienting, planning, or acting better—it's doing these faster," Boyd asserted. For developers, this means prioritizing automation that reduces cycle time (CI/CD pipelines), designing decoupled systems for independent iteration, and accepting 'good enough' solutions that enable rapid learning. The jet fighters of Korea remind us that in both air combat and code, sustained velocity triumphs over intermittent perfection.

Source: Analysis inspired by Roger Sessions' 'A Better Path to Enterprise Architecture' and Jeff Atwood's original post on Coding Horror