<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Benjamin Lam</title>
    <description>The latest articles on Forem by Benjamin Lam (@blame76).</description>
    <link>https://forem.com/blame76</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3792730%2Fa91e69e1-559f-4eae-bef5-9d08b0932ef4.jpeg</url>
      <title>Forem: Benjamin Lam</title>
      <link>https://forem.com/blame76</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/blame76"/>
    <language>en</language>
    <item>
      <title>Doom Scrolling PDD</title>
      <dc:creator>Benjamin Lam</dc:creator>
      <pubDate>Thu, 26 Feb 2026 15:34:34 +0000</pubDate>
      <link>https://forem.com/blame76/doom-scrolling-pdd-min</link>
      <guid>https://forem.com/blame76/doom-scrolling-pdd-min</guid>
      <description>&lt;p&gt;I actually wanted to binge-watch the third season of &lt;em&gt;The Night Agent&lt;/em&gt; on Netflix yesterday.&lt;br&gt;&lt;br&gt;
One last reach for the phone.&lt;/p&gt;

&lt;p&gt;Somewhere between &lt;strong&gt;S3 E2&lt;/strong&gt; and &lt;strong&gt;S3 E3&lt;/strong&gt;, it hit me:&lt;br&gt;&lt;br&gt;
I wasn’t really watching.&lt;/p&gt;

&lt;p&gt;I had disappeared into posts, threads, and articles.&lt;br&gt;&lt;br&gt;
Prompt Driven Development.&lt;br&gt;&lt;br&gt;
PDD here, PDD there.&lt;/p&gt;

&lt;p&gt;Less Netflix, more opinion.&lt;br&gt;&lt;br&gt;
More interpretation.&lt;br&gt;&lt;br&gt;
More projection.&lt;/p&gt;




&lt;p&gt;Between two paragraphs, I realized something uncomfortable:&lt;/p&gt;

&lt;p&gt;I’m putting the term &lt;strong&gt;“prompt”&lt;/strong&gt; far too much at the center.&lt;/p&gt;

&lt;p&gt;And I should know better.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PDD is not prompt engineering.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Prompts are just the interface — not the system.&lt;/p&gt;




&lt;p&gt;Prompt Driven Development is &lt;strong&gt;architecture work with new tools&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It needs context.&lt;br&gt;&lt;br&gt;
It needs role distribution.&lt;br&gt;&lt;br&gt;
It needs the hard discipline of &lt;strong&gt;iteration and review&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The idea of the &lt;em&gt;“perfect prompt”&lt;/em&gt; is a dangerous illusion.&lt;/p&gt;

&lt;p&gt;It often appears where solid architecture is missing —&lt;br&gt;&lt;br&gt;
or where people hope to replace design decisions with clever wording.&lt;/p&gt;




&lt;p&gt;It will probably take some time until this new vocabulary moves&lt;br&gt;&lt;br&gt;
from short-term buffer into actual memory.&lt;/p&gt;

&lt;p&gt;Until experiment and hype-coding become what they have always been:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Craft.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Simply: &lt;strong&gt;coding.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📌 Publication Metadata
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Original Publication:&lt;/strong&gt;&lt;br&gt;
February 26, 2026&lt;br&gt;
&lt;strong&gt;Author:&lt;/strong&gt; Benjamin Lam (blame76)&lt;br&gt;
&lt;strong&gt;Categories:&lt;/strong&gt; Prompt-Driven Development (PDD)&lt;br&gt;
&lt;strong&gt;Original URL:&lt;/strong&gt; &lt;a href="https://benjamin-lam.de/2026/02/26/doom-scrolling-pdd/" rel="noopener noreferrer"&gt;https://benjamin-lam.de/2026/02/26/doom-scrolling-pdd/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Translated with Microsoft Copilot&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;— A marginal note from the space between two tabs.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>developer</category>
      <category>devjournal</category>
      <category>promptdrivendevelopment</category>
      <category>crosspost</category>
    </item>
    <item>
      <title>Prompt Driven Development (PDD) A Manifesto Against Comfortable Guessing</title>
      <dc:creator>Benjamin Lam</dc:creator>
      <pubDate>Thu, 26 Feb 2026 10:44:19 +0000</pubDate>
      <link>https://forem.com/blame76/prompt-driven-development-pdda-manifesto-against-comfortable-guessing-4m4a</link>
      <guid>https://forem.com/blame76/prompt-driven-development-pdda-manifesto-against-comfortable-guessing-4m4a</guid>
      <description>&lt;p&gt;We learned TDD because code lies. Or more precisely: code tells you everything you allow it to tell.&lt;br&gt;
Now we have LLMs — and they will still tell you a coherent story even when the premise is already wrong.&lt;br&gt;
Time for a small process hack that doesn’t feel like a hack.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Scene
&lt;/h2&gt;

&lt;p&gt;You’re sitting there. Coffee. Tabs. A timeline full of “AI will replace developers.”&lt;br&gt;
You enter a prompt. The model delivers code. The code looks good.&lt;br&gt;
And that is exactly why it’s dangerous.&lt;/p&gt;

&lt;p&gt;Because LLMs are polite. They rarely contradict you. They deliver. They fill gaps.&lt;br&gt;
And gaps are not romantic in project management. Gaps are budget.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You wanted a solution. You got an answer. That is not the same thing.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What PDD Is (and What It Is Not)
&lt;/h2&gt;

&lt;p&gt;Prompt Driven Development (PDD) treats prompts as &lt;strong&gt;verifiable specifications&lt;/strong&gt;.&lt;br&gt;
Not as wish lists. Not as chat. But as a contract that must be measured against reality.&lt;/p&gt;

&lt;h3&gt;
  
  
  PDD Is Not
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;not “prompt engineering” (more words, better magic)&lt;/li&gt;
&lt;li&gt;not “the LLM writes my code” (delegation without liability)&lt;/li&gt;
&lt;li&gt;not “generate tests and hope”&lt;/li&gt;
&lt;li&gt;not a workflow for buzzword pitches&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  PDD Is
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;specification first — as a prompt&lt;/li&gt;
&lt;li&gt;tests as referees (not decoration)&lt;/li&gt;
&lt;li&gt;iteration on the prompt until it becomes measurable&lt;/li&gt;
&lt;li&gt;code only when “done” can be defined&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Loop
&lt;/h2&gt;

&lt;p&gt;Classic (and unfortunately common):&lt;br&gt;
Prompt → Code → Fix → More fixes → “Why is this taking so long?”&lt;/p&gt;

&lt;p&gt;PDD reverses the order:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prompt (as specification)&lt;/li&gt;
&lt;li&gt;Test (as a reality sensor)&lt;/li&gt;
&lt;li&gt;Prompt (iteration: precision instead of poetry)&lt;/li&gt;
&lt;li&gt;Code (implementation inside the test cage)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you cannot measure the system, you do not control it.&lt;br&gt;
You are only telling a story about control.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Five Theses (Manifest)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1) Prompts Are Artifacts
&lt;/h3&gt;

&lt;p&gt;A prompt is not a conversation. It is a document. Versionable. Reviewable. Worth criticizing.&lt;br&gt;
If your prompt disappears in chat history, it effectively does not exist in the project.&lt;/p&gt;

&lt;h3&gt;
  
  
  2) Unclarity Is the Real Bug
&lt;/h3&gt;

&lt;p&gt;When something goes wrong, it is rarely “just a bug.”&lt;br&gt;
Often it is a fog word.&lt;br&gt;
“Fast.” “Intuitive.” “Simple.” — these words are like smoke grenades, except without an explosion, but with sprint meetings.&lt;/p&gt;

&lt;h3&gt;
  
  
  3) Tests Validate the Prompt, Not Just the Code
&lt;/h3&gt;

&lt;p&gt;If a test fails, the first question is not “Who broke this?”&lt;br&gt;
It is: “What did we actually demand?”&lt;/p&gt;

&lt;h3&gt;
  
  
  4) LLMs Are Co-Authors, Not Oracles
&lt;/h3&gt;

&lt;p&gt;The model delivers possibilities. You deliver responsibility.&lt;br&gt;
PDD is the method that separates these roles instead of romantically blending them.&lt;/p&gt;

&lt;h3&gt;
  
  
  5) First the Contract, Then the Implementation
&lt;/h3&gt;

&lt;p&gt;PDD is a return to something old-fashioned:&lt;br&gt;
a Definition of Done that can be executed.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“If my prompt is not testable, it is not a specification.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Practice: How a Prompt Becomes Testable
&lt;/h2&gt;

&lt;p&gt;A testable prompt specifies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;goal (why does the feature exist?)&lt;/li&gt;
&lt;li&gt;input/output (what data goes in, what comes out?)&lt;/li&gt;
&lt;li&gt;constraints (performance, security, offline, KISS/YAGNI)&lt;/li&gt;
&lt;li&gt;edge cases (how does it fail correctly?)&lt;/li&gt;
&lt;li&gt;non-goals (what is deliberately not built?)&lt;/li&gt;
&lt;li&gt;acceptance criteria (measurable: what does ‘done’ mean?)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you only write “just do it,” you will get “just do it” quality back.&lt;br&gt;
And then you will argue for three days about results instead of two hours about requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Anti-Patterns (You Will Recognize Them)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The novel prompt: too long, too vague, too much world — and not a single hard edge.&lt;/li&gt;
&lt;li&gt;The good-vibes test: “should feel good” — nice, but not executable.&lt;/li&gt;
&lt;li&gt;Tool fetishism: new models, new plugins — but no Definition of Done.&lt;/li&gt;
&lt;li&gt;The hallucination deal: “it’ll probably be right” — until production disagrees.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why This Matters Right Now
&lt;/h2&gt;

&lt;p&gt;Because AI does not only make code faster.&lt;br&gt;
It also makes failure faster — if we continue to specify in fog.&lt;/p&gt;

&lt;p&gt;PDD is not a religion. It is a guardrail.&lt;br&gt;
And guardrails are not sexy. They are what stop you from pushing a “small change” to production at 11:48 pm.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You want speed? Then stop investing in unclarity.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Closing
&lt;/h2&gt;

&lt;p&gt;If your prompt is not testable, it is not a specification.&lt;br&gt;
And if you have no specification, you are not building faster — you are just building into emptiness sooner.&lt;/p&gt;

&lt;p&gt;If you want to try this: take a mini feature, write the prompt like a contract,&lt;br&gt;
let tests emerge, iterate on the prompt, only then write code.&lt;br&gt;
One round. Then another.&lt;br&gt;
And suddenly “AI development” feels less like gambling.&lt;/p&gt;




&lt;h2&gt;
  
  
  📌 Publication Metadata
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Original Publication:&lt;/strong&gt;&lt;br&gt;
January 13, 2026&lt;br&gt;
&lt;strong&gt;Author:&lt;/strong&gt; Benjamin Lam (blame76)&lt;br&gt;
&lt;strong&gt;Categories:&lt;/strong&gt; Prompt-Driven Development (PDD)&lt;br&gt;
&lt;strong&gt;Original URL:&lt;/strong&gt; &lt;a href="https://benjamin-lam.de/2026/01/13/prompt-driven-development-pdd/" rel="noopener noreferrer"&gt;https://benjamin-lam.de/2026/01/13/prompt-driven-development-pdd/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Translated with ChatGPT&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>softwareengineering</category>
      <category>promptdrivendevelopment</category>
      <category>crosspost</category>
    </item>
  </channel>
</rss>
