Martin Fowler
Software design writer and chief scientist at Thoughtworks; wrote Refactoring and Patterns of Enterprise Application Architecture.
Martin Fowler did not write this page. What is this?
It collects the places they publish and what they have said there, each linked to the source. They have no account here. Is this you? Claim it, correct it, or ask us to remove it from ppll.
Where they publish
Site martinfowler.com His site: articles, book chapters and bliki entries on software design. Has a feed.
Recent
- I don't like LLMs 17 Sept 2026 I have a lot of mixed feelings about AI and LLM technology. I’m fascinated by its effect on our profession, excited by the potential gains in productivity - and thus the products we could rapidly build. On the other han…
- Fragments: September 16 16 Sept 2026 Reports of agentic hacking continue, in this case it happened back in May and it seems OpenAI did not disclose that they were responsible. Simon Willison sees two options: After the Hugging Face and Wiki attacks OpenAI…
- Nail the Narrative 15 Sept 2026 Sumeet Gayathri Moghe finds many folks building presentations get tangled in building slides without a coherent narrative. He advises distilling the big idea, visualizing the audience, and building a structured storylin…
Show 17 more
- Social Media Engagement: summer 2026 9 Sept 2026 A quick survey of recent engagement of my posts on social media, indicating which service has by far the most engagement, and which service has seen a precipitous decline since early 2025. more
- Fragments: September 8 8 Sept 2026 Christian Catalini says we’re in a situation where we are vastly reducing the cost of generating things, but not the cost of verifying them:. This explains why the first major AI products appeared in chat, image generat…
- Do you even need a presentation? 8 Sept 2026 Like me, Sumeet Gayathri Moghe is tired of poor presentations with bad slide decks. He's started to write a series of posts on how to avoid these calamities, beginning with a post that questions whether a presentation i…
- Bliki: Paracelsus Maxim 2 Sept 2026 The difference between a medicine and a poison is dosage. Often we talk about certain habits, in programming or life, are good or bad. But few things are simple binaries. Some vary with context: reading a book is a good…
- An Accidental Blackboard 2 Sept 2026 Giles Edwards-Alexander reports that during an experiment to see how productive a team could be using fully agentic engineering practices, the team accidentally prompted the agents into creating a blackboard coordinatio…
- Fragments: September 1 1 Sept 2026 Like many readers, I’m wary of AI generated prose. Simon Wilison has written an LLM cliché highlighter - paste in some text, or a URL, and it will flag various patterns common to LLMs. It references a wikipedia page of…
- Making Your Data Ready for Agentic AI 27 Aug 2026 Lots of organizations are excited about what AI can do to streamline their processes, save money, and juice margins. But AI's capabilities are founded on the data that AI accesses, and for many organizations that founda…
- Fragments: August 24 24 Aug 2026 I was listening to Ezra Klein’s interview with Helen Toner about the recent OpenAI hack of Hugging Face and the subsequent discovery that there were swarms of agents inside OpenAI doing unsanctioned activities. One of t…
- Practitioner Voice: The Writing Category Nobody has Named Yet 19 Aug 2026 Jim Highsmith recognizes that effective writing from a practitioner is a style distinct from academic writing or thought-leadership content. It's a style that I advocate, and my contributors mostly follow. Jim decided i…
- Fragments: August 18 18 Aug 2026 Part of the reason why I’m at Thoughtworks is because I’d like to see a software development organization founded on technical excellence as an example for the rest of the industry. The trouble is that I have little apt…
- TDD inside the agent loop - theater or actual value? 11 Aug 2026 My colleagues at Thoughtworks tend to be big fans of Test-Driven Development, and many people in the industry advocate telling LLM agents to use TDD when building software. Birgitta Böckeler was curious if this really m…
- Fragments: August 4 4 Aug 2026 There’s been a fair bit of publicity of the Open AI “rogue agent” that hacked into Hugging Face. This prompted Anthropic to check what their models were up to and, to my complete lack of surprise, discovered three incid…
- The Economic Benefit of Refactoring 30 Jul 2026 Giles Edwards-Alexander does an experiment to see if decomposing a large function helps reduce token costs, suggesting that is may now be possible to measure the economic benefit of refactoring more
- The Orchestrator's Tax 28 Jul 2026 Subagents get justified by time saved and parallel execution, but Rahul Garg explains that's not what matters most. Every token in the orchestrator's context is competing for its attention, and the real value of a subag…
- Fragments: July 21 21 Jul 2026 With this post, I’ll wrap up my notes from the second Future of Software Development Retreat. But before I do, I should note that the full Thoughtworks report on the retreat is now available. They have five headline fin…
- The Archaeologist’s Copilot 16 Jul 2026 When people think of legacy modernization, most folks aren't imagining the target environment will be Java 8. But this was the challenge facing Nik Malykhin when he needed to run a Java 1.5 codebase on today's hardware.…
- DSLs Enable Reliable Use of LLMs 14 Jul 2026 LLMs generate code incredibly fast, but to ensure they generate exactly what is intended, they need clear boundaries. Abstractions and Domain-Specific Languages (DSLs) provide a strong harness that guides LLMs right fro…
Link verified 20 Sept 2026. Recent items update automatically from the channel.
Beliefs
Korrents What they believe 21 beliefs — each backed by an exact quote.
Each is a — compiled by korrents.com, not by them: the one-line wordings are korrents', the quotes are theirs.
Recent
Nothing in a fifty-year career has hit the industry with the magnitude of AI; it is a whole size difference from anything before it.
Well, nothing has hit with the magnitude of AI. That's I mean, this is a a whole size difference from anything that we've faced before.
Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again Said 7 Apr 2026
Every earlier wave, the internet included, had to be argued for; AI is the first where nobody has to be persuaded that it matters.
but the thing about AI is that, you know, all of many of these things we were talking about how important they were and how valuable were and trying to persuade people of the importance of them. Yes, even the internet. That may sound surprising, but there were people who would weren't thinking that was important. Um but AI, there's kind of no argument about how important it is. People can't can I mean, you cannot put blinkers on to deny the importance of this thing.
Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again Said 7 Apr 2026
Skepticism about a new technology only works if it is total enough to be turned on itself, which is what forces you to stay curious.
My skepticism has to be absolute and total, which means I have to be skeptical about my skepticism. And that requires that curiosity.
Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again Said 7 Apr 2026
Show 18 more
Using an AI tool well is something you have to learn, exactly as it was with object orientation; a bad first impression proves nothing.
one of the things that I took from that was to use this tool well, you have to learn how to use it well, which was also something very true of object orientation.
Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again Said 7 Apr 2026
AI will repeat Agile's pattern: sound core ideas surrounded by a huge snake oil industry that is hard to tell apart from the real thing.
Um I think another similarity is I mean, the core notions uh behind Agile and extreme programming are solid and good, but a huge snake oil industry appeared around it, the Agile industrial complex as I like to refer to it. Um and that will happen. That is happening with AI right now, and it's often hard to see the difference between where is the snake oil and where is the real stuff.
Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again Said 7 Apr 2026
Predictions that nobody will write code soon dodge the question of what code is: prompting a model is still producing something we will have to read and change.
I go to myself, "Well, yeah, but what do you mean by code?" Because that kind of implies nobody's writing anything. Well, we're at least doing some prompting. We're having some interaction with the genie. What's that going to be if it's not some form of code in some way? I think the nature of what code is is going to be quite possibly for a very radically different. But I think there is still a need to produce it and be able to interact with it in some way.
Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again Said 7 Apr 2026
Large-scale confusion and panic is the order of the day at companies adopting AI, right across the board.
Um at the moment large-scale confusion and panic is pretty much the order of the day right across the board.
Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again Said 7 Apr 2026
There will be some really bad security incidents this year, because people rushing to hand agents control of things like their email are not paying attention.
I am very much concerned we're going to have some really bad security incidents um over this year because people are just not paying attention.
Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again Said 7 Apr 2026
One person with many agents is probably not the right answer; the better bet is two-pizza teams made more effective, with pairs of humans steering the agents together.
My bet is on the more effective two pizza teams. Um and it it's also some interesting, you know, feedback we're beginning to get in terms of pair programming. I mean, with pair programming, do you say pair programming is the human and the genie? Or is it two humans and and genies? Because if it's two of us, we can control the genies perhaps a little bit better.
Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again Said 7 Apr 2026
The Venn diagram of developer experience and agent experience is a circle: well-modularised code and good tests help the agents exactly as they help the humans.
which is that the the Venn diagram of developer experience and agent experience is a circle. And the point here is that, you know, what we do that that's good for the agents is good for the humans and vice versa. I'm hearing a lot of feedback saying, "Yeah, actually, if you have well-modularized code, that actually makes it easy for the agents to work with."
Martin Fowler & Kent Beck: Frameworks for reinventing software, again and again Said 7 Apr 2026
The usual trade-off between quality and cost does not apply to software: high internal quality is the cheaper way to produce it.
With this article I'll explain that this trade-off does not apply to software - that high quality software is actually cheaper to produce.
Is High Quality Software Worth the Cost? Said 29 May 2019
Poor internal quality begins to slow a team down within a few weeks, so almost no project is short enough for cutting corners to pay off.
Developers find poor quality code significantly slows them down within a few weeks.
Is High Quality Software Worth the Cost? Said 29 May 2019
Cruft is not carelessness: even the best teams inevitably create it, because the right design is only visible once the software has been built.
even the finest teams will inevitably create some cruft as they work
Is High Quality Software Worth the Cost? Said 29 May 2019
Successful microservice systems almost always began as a monolith that grew too big, and systems built as microservices from scratch end up in serious trouble.
Almost all the successful microservice stories have started with a monolith that got too big and was broken up
MonolithFirst Said 3 Jun 2015
Build a new application as a monolith first, even when you are confident it will eventually need microservices.
This leads to a powerful argument for a monolith-first strategy, where you should build a new application as a monolith initially, even if you think it's likely that it will benefit from a microservices architecture later on.
MonolithFirst Said 3 Jun 2015
Service boundaries cannot be got right at the start, and moving functionality between services is far harder than moving it inside a monolith.
But even experienced architects working in familiar domains have great difficulty getting boundaries right at the beginning.
MonolithFirst Said 3 Jun 2015
Test coverage is a tool for finding untested code and says nothing about how good the tests are.
Test coverage is of little use as a numeric statement of how good your tests are.
TestCoverage Said 17 Apr 2012
Making test coverage a target destroys it, because high coverage numbers are easy to reach with worthless tests.
If you make a certain level of coverage a target, people will try to attain it. The trouble is that high coverage numbers are too easy to reach with low quality testing.
TestCoverage Said 17 Apr 2012
Total test coverage is a warning sign rather than an achievement: it smells of tests written for the number.
I would be suspicious of anything like 100% - it would smell of someone writing tests to make the coverage numbers happy, but not thinking about what they are doing.
TestCoverage Said 17 Apr 2012
Software productivity cannot be measured, because there is no way to measure a development team's output.
the reason we can't measure productivity is because we can't measure output
CannotMeasureProductivity Said 29 Aug 2003
Lines of code cannot measure productivity, because better-designed code is shorter.
Any good developer knows that they can code the same stuff with huge variations in lines of code, furthermore code that's well designed and factored will be shorter because it eliminates the duplication.
CannotMeasureProductivity Said 29 Aug 2003
What is a korrent?
A korrent is a belief a person has stated in their own words: one sentence stating the claim, backed by a quote and a source, kept at korrents.com.
Under a name here, the quoted block is what they actually said. The korrent beneath it is the claim those words support, in korrents' wording — tap it to see the record, its source, and who else holds it.
Nobody here wrote their own korrents. They are compiled from public statements, and a person can change their mind, which is recorded too.
About the English under a post
Some people here publish in a language other than English. Where they do, this site shows a machine translation beneath the post, in this typeface — the site's own, not theirs.
The post itself is never changed, moved or hidden: what is set in the serif above is exactly what the person published, and it is what to quote them on. A translation can be wrong in ways that matter, especially about tone.
Only the post's own words are translated. A quoted post, a linked article and a belief on korrents.com are left in their original language.