Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again

The Pragmatic Engineer 32min 4 min #81
Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again
Watch on YouTube

Summary

  • Martin Fowler and Kent Beck — two of the 17 signatories of the Agile Manifesto 25 years ago — reflect on how their ideas (Agile, TDD, refactoring, XP) have shaped software engineering, and how the current AI wave compares to past technological disruptions.
    • Both are now focused on understanding how AI is actually changing day-to-day software work, rather than writing prescriptive books.
    • They see AI as fundamentally different in magnitude and speed from anything before — bigger than the internet, object-oriented programming, or the microprocessor — but they draw on those past shifts to make sense of it.

What stuck from Agile, TDD, and refactoring

  • TDD has been the most divisive: some engineers credit it as essential preparation for verifying AI-generated code; others blame it for making their lives miserable.
    • Kent Beck notes that after 25 years of pushing TDD, its value is suddenly obvious: when you have a “big powerful genie,” you absolutely need tests to verify it’s doing the right thing.
  • Refactoring and modular design are resurfacing as critical: well-structured code turns out to be exactly what AI agents need to work effectively.
  • Agile/XP practices like pair programming and small teams produced great results but were socially uncomfortable for organizations — and AI is now tempting companies to revert to isolated, individual work patterns.

Historical analogies: microprocessor, internet, OO, Agile

  • Kent Beck compares AI’s impact to the introduction of the microprocessor: a sudden expansion of what’s imaginable, enabling projects that were previously absurdly ambitious.
  • Martin Fowler notes that every major shift — OO, the internet, Agile — attracted both hype and legitimate skepticism, and the key skill is balancing curiosity with critical evaluation.
    • He was initially unimpressed with early AI coding tools (Copilot-style autocomplete in Emacs) and nearly dismissed AI entirely, the way he dismissed blockchain.
    • What changed was finding trusted voices (like Simon Willison) who gave balanced, honest assessments — acknowledging both real problems and real capabilities.
  • The critical skill right now: running the smallest possible experiment to validate whether a claim about AI is true for your own context — and recognizing that the answer can change week to week as models improve.

Why good practices still fail (and why AI will face the same problem)

  • Kent Beck argues that organizations don’t actually want “faster, cheaper, better” — internal incentives are misaligned, so even proven improvements get punished.
    • The Agile industrial complex (certification mills, snake oil) grew around solid core ideas, and the same is already happening with AI.
  • AI is an amplifier: it amplifies whatever you’re already doing.
    • Junior engineers who are learning quickly will learn even faster — Beck calls this “the golden age of the junior programmer.”
    • Experienced engineers who work effectively will become more productive.
    • The vulnerable group is the middle: people who entered programming primarily for financial stability and may lack deep craft commitment — a group that’s much larger now than during the dot-com era.
      • This middle has already been partially thinned by post-ZIRP layoffs, which is a new confluence of factors not present in the 1990s.

How the AI shift is different

  • The recurring fantasy of “getting rid of all programmers” (from COBOL-era business analysts to today’s “no one will write code in 6 months”) is resurfacing, amplified by AI hype.
    • Martin Fowler pushes back: prompting and interacting with a genie is still a form of coding — the nature of code is changing, but the need to produce and interact with it isn’t going away.
  • Security risks are being ignored in the rush to adopt: Fowler has encountered large companies considering giving LLMs full control over email, which he calls “mind-boggling” from a security standpoint.
  • The sheer speed and magnitude of AI adoption is unprecedented — there’s no argument about its importance, unlike the internet or Agile, which had to be sold to skeptics.

Engineers as managers of multiple agents

  • A trend toward “re-soloing” programming: engineers working individually with multiple AI agents, rather than collaborating in pairs or teams.
    • Kent Beck pushes back: managing six tools is not the same as managing a team of people with different perspectives and energy levels.
    • He worries companies will use AI as an excuse to return to isolated, controllable work patterns — abandoning the messy, social, chaotic processes that actually produced great results.
  • Pair programming with genies: Beck’s experience pairing with another human plus one or more AI agents has been very positive.
    • The slowness of current models is actually a feature: it creates space for the pair to discuss design decisions, naming, conditionals, and next steps while waiting for output.
    • Faster models could eliminate that valuable thinking time.
  • Team size question: will two-pizza teams shrink to one-pizza teams because agents don’t eat pizza? Fowler bets on two-pizza teams becoming more effective, not smaller.

Developer experience and agent experience

  • A key insight from the Future of Software Engineering conference: the Venn diagram of developer experience and agent experience is essentially a circle.
    • What’s good for agents is good for humans: well-modularized code, good tests, clear domain language.
    • This reinforces the value of craft practices like refactoring, TDD, and domain-driven design — they’re not obsolete, they’re more important.
  • Domain language as interface: one engineer (Animesh Joshi) found that developing a precise language to communicate about the domain with an agent dramatically improved efficiency — essentially applying domain-driven design principles to human-agent collaboration.
  • Kent Beck’s personal shift: he’s had to let go of the deep craft satisfaction of perfecting individual functions — getting “in the zone” with a messy file and refactoring it into clarity.
    • That level of micro-craft no longer has the leverage it once did.
    • He’s shifting his focus to enjoying understanding the domain and its connection to the program — a higher-level form of craft that AI can’t replace and that becomes the primary source of leverage.
Back to The Pragmatic Engineer