TDD, AI agents and coding with Kent Beck
TDD, AI agents and coding with Kent BeckKent Beck—creator of Extreme Programming and co-author of the Agile Manifesto—reflects on decades of coding, from the birth of TDD to his experiments with AI coding tools today
Stream the Latest EpisodeListen and watch now on YouTube, Spotify and Apple. See the episode transcript at the top of this page, and timestamps for the episode at the bottom. Brought to You By• Sonar — Code quality and code security for ALL code. • Statsig — The unified platform for flags, analytics, experiments, and more. • Augment Code — AI coding assistant that pro engineering teams love — In This EpisodeKent Beck is one of the most influential figures in modern software development. Creator of Extreme Programming (XP), co-author of The Agile Manifesto, and a pioneer of Test-Driven Development (TDD), he’s shaped how teams write, test, and think about code. Now, with over five decades of programming experience, Kent is still pushing boundaries—this time with AI coding tools. In this episode of Pragmatic Engineer, I sit down with him to talk about what’s changed, what hasn’t, and why he’s more excited than ever to code. In our conversation, we cover:
TakeawaysSome of the most interesting topics discussed were these: 1. Kent is re-energized thanks to using AI agents to build stuff. Kent has been coding for 52 years, and the last decade, he’s gotten a lot more tired of all of it: learning yet another new language or framework, or debugging the issues when using the latest framework. What he loves about these AI agents (and AI coding tools) is how he doesn’t need to know exactly all the details: he can now be a lot more ambitious in his projects. Currently, Kent is building a server in Smalltalk (that he’s been wanting to do for many years) and a Language Server Protocol (LSP) for Smalltalk 2. Test driven development (TDD) is a “superpower” when working with AI agents. AI agents can (and do!) introduce regressions. An easy way to ensure this does not happen is to have unit tests for the codebase. Kent Beck is one of the biggest proponents of TDD, so it’s no surprise he is using this approach when coding with these agents as well. What is surprising is how he’s having trouble stopping AI agents from deleting tests in order to make them “pass!” 3. Facebook wrote no unit tests in 2011, and this stunned Kent, back in the day. Kent joined Facebook in 2011, and was taken aback by the lack of testing and how everyone pushed code to production without automated testing. What he came to realize – and appreciate! – was how Facebook had several things balancing this out:
To this date, Facebook ships code to production in a unique way. We covered more in the deepdive Shipping to Production. 4. The “Extreme” in “Extreme Programming” was a marketing hack (kind of!) Kent shared the hilarious story of how he came up with the name “Extreme Programming.” He came up with a methodology that worked really well for one of his clients (which would become Extreme Programming) and wanted to name it. This is how:
We previously did an episode on Software architecture with Grady Booch. Interesting quote: devs should experiment with GenAIFrom 53:30:
The Pragmatic Engineer deepdives relevant for this episodeTimestamps(00:00) Intro (02:27) What Kent has been up to since writing Tidy First (06:05) Why AI tools are making coding more fun for Kent and why he compares it to a genie (13:41) Why Kent says languages don’t matter anymore (16:56) Kent’s current project building a small talk server (17:51) How Kent got involved with The Agile Manifesto (23:46) Gergely’s time at JP Morgan, and why Kent didn’t like the word ‘agile’ (26:25) An overview of “extreme programming” (XP) (35:41) Kent’s childhood tape-to-tape experiments that inspired TDD (42:11) Kent’s response to Ousterhout’s criticism of TDD (50:05) Why Kent still uses TDD with his AI stack (54:26) How Facebook operated in 2011 (1:04:10) Facebook in 2011 vs. 2017 (1:12:24) Rapid fire round ReferencesWhere to find Kent Beck: • LinkedIn: https://www.linkedin.com/in/kentbeck/ • Website: https://kentbeck.com/ • Newsletter: Mentions during the episode: • Extreme Programming Explained: Embrace Change: https://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0321278658 • The Agile Manifesto: https://agilealliance.org/agile101/the-agile-manifesto/ • Tidy First?: A Personal Exercise in Empirical Software Design: https://www.amazon.com/Tidy-First-Personal-Exercise-Empirical/dp/1098151240 • Measuring developer productivity? A response to McKinsey: https://newsletter.pragmaticengineer.com/p/measuring-developer-productivity • Dead Code, Getting Untangled, and Coupling versus Decoupling: https://newsletter.pragmaticengineer.com/p/dead-code-getting-untangled-and-coupling • Augment: https://www.augmentcode.com/ • Smalltalk: https://en.wikipedia.org/wiki/Smalltalk • Swift: https://www.swift.org/ • Go: https://go.dev/ • Rust: https://www.rust-lang.org/ • Haskell: https://www.haskell.org/ • C++: https://isocpp.org/ • JavaScript: https://www.javascript.com/ • Managing the Development of Large Software Systems: https://www.praxisframework.org/files/royce1970.pdf • Martin Fowler’s website: https://martinfowler.com/ • DSDM: https://en.wikipedia.org/wiki/Dynamic_systems_development_method# • Crossing the Chasm, 3rd Edition: Marketing and Selling Disruptive Products to Mainstream Customers: https://www.amazon.com/Crossing-Chasm-3rd-Disruptive-Mainstream/dp/0062292986 • Tottenham Hotspur: https://www.tottenhamhotspur.com/ • J.P. Morgan: https://www.jpmorgan.com/ • Software architecture with Grady Booch: https://newsletter.pragmaticengineer.com/p/software-architecture-with-grady-booch • Grady Booch on LinkedIn: https://www.linkedin.com/in/gradybooch/ • The Philosophy of Software Design – with John Ousterhout: https://newsletter.pragmaticengineer.com/p/the-philosophy-of-software-design • A Philosophy of Software Design: My Take (and a Book Review): https://blog.pragmaticengineer.com/a-philosophy-of-software-design-review/ • Cursor: https://www.cursor.com/ • Facebook Engineering Process with Kent Beck: https://softwareengineeringdaily.com/2019/08/28/facebook-engineering-process-with-kent-beck/ • Claude Code: https://www.anthropic.com/claude-code • The Timeless Way of Building: https://www.amazon.com/Timeless-Way-Building-Christopher-Alexander/dp/0195024028 — Production and marketing by Pen Name. You’re on the free list for The Pragmatic Engineer. For the full experience, become a paying subscriber. Many readers expense this newsletter within their company’s training/learning/development budget. If you have such a budget, here’s an email you could send to your manager. This post is public, so feel free to share and forward it. If you enjoyed this post, you might enjoy my book, The Software Engineer's Guidebook. Here is what Tanya Reilly, senior principal engineer and author of The Staff Engineer's Path said about it:
|
Comments
Post a Comment