Software Development Has a Brainstorming Problem
And what Failure Driven Development might do about it 2026-06-06
Every serious creative field has developed a rich pedagogy around brainstorming — the generative phase of work where raw material is produced before the evaluating mind gets involved. Songwriting has Pat Pattison. Fiction writing has Natalie Goldberg and Julia Cameron. Software development has… sprint planning?
This gap is real, and it matters. Here’s a tour of what the other fields figured out, why software missed it, and why Failure Driven Development might be the framework that finally closes the gap.
TL;DR
The songwriting and writing teachers all share one core move: make it safe to produce bad output. Software culture has never institutionalized this. FDD reframes failure as the mechanism of discovery — which is exactly the philosophical infrastructure the generative phase of programming has been missing.
L;R
What Songwriting Teachers Figured Out
Pat Pattison, the Berklee College of Music professor whose students include John Mayer and Gillian Welch, built his brainstorming pedagogy around a technique he calls object writing. The exercise is simple: pick an object — any person, place, or thing — set a timer for ten minutes, and write about it using all seven senses. The five familiar ones plus organic sense (how your body feels internally — butterflies in your stomach) and kinesthetic sense (how your body moves in relation to space — the room was spinning). The rule is no self-editing, no crossing out, and stopping when the timer goes off regardless of where you are.
The deeper principle is what Pattison calls “the art of diving.” In daily life we skim the surface of experience. Object writing forces a descent into concrete sensory detail — the kind of specific, embodied language that listeners can actually share. Abstract emotion becomes communicable only when grounded in sensory particulars.
He also teaches the title as a brainstorming scaffold: a strong title carries implicit “DNA” — a set of concepts and promises — that organizes what the verses can explore. And during the generative phase, the rule is an explicit “no free zone”: the inner critic is told to stand down entirely.
Other songwriting teachers work adjacent territory. Jason Blume mines everyday conversation and overheard phrases for title ideas. Ralph Murphy (ASCAP) starts with the title and asks what promise it makes to the listener, then brainstorms only what fulfills that promise. Jimmy Webb (Tunesmith) is more romantic about it — walks, drives, solitude, boredom — creating conditions for the unconscious to work rather than following a system. Sheila Davis (The Songwriter’s Idea Book) is the most toolkit-heavy: forty distinct strategies including clustering, mind-mapping, “what if” scenarios, and working from photographs.
The consensus across all of them: write before you edit, collect more than you need, and anchor abstract emotion in concrete specific detail.
What Writing Teachers Figured Out
The fiction and nonfiction world arrived at essentially the same pedagogy independently.
Natalie Goldberg (Writing Down the Bones) is the closest to Pattison in spirit: timed “writing practice,” keep your hand moving, don’t cross out, go for the jugular. Very Zen-influenced — she treats writing practice as a form of meditation.
Julia Cameron (The Artist’s Way) prescribes Morning Pages: three longhand pages every morning, stream of consciousness, no re-reading. The explicit goal is not good writing but drainage — clearing the “brain sludge” so the real creative work can flow later.
Peter Elbow (Writing Without Teachers) coined “freewriting” as a formal technique and articulated perhaps the clearest theoretical framing: the generating self and the evaluating self cannot operate simultaneously. They must be sequenced, not interleaved.
Anne Lamott (Bird by Bird) gives permission with her concept of the “shitty first draft” — the psychological license to write badly is the whole game. Also teaches radical scope narrowing: don’t write a book, write what you can see through a one-inch picture frame.
Dorothea Brande (Becoming a Writer, 1934) is arguably the original: write immediately upon waking before the rational mind engages. She predates Cameron by fifty years with essentially the same insight.
Why Software Missed This
The dominant culture treats programming as engineering or mathematics — fields where rigor and correctness are the virtues, not generative looseness. The inner critic is baked into the tools: the compiler rejects your shitty first draft immediately. It’s structurally difficult to maintain “keep your hand moving, don’t cross out” when the environment is constantly evaluating you.
The field also conflates design brainstorming with implementation. Whiteboard sessions, user stories, sprint planning — these exist, but they’re about requirements and architecture, not about the kind of raw generative thinking Pattison or Goldberg are after.
What does exist in software: sketching and paper prototyping in UX (borrowed from design thinking), “spike” solutions as throwaway exploratory code, rubber duck debugging as dialogic thinking-aloud, Ward Cunningham’s CRC cards for object brainstorming. These are useful but ad hoc — nobody has assembled them into a coherent pedagogy.
What’s entirely missing: a daily timed practice for generating design ideas, uncoupled from correctness. Nobody teaches programmers to separate the generating self from the evaluating self the way Elbow does explicitly. Nobody has articulated the software equivalent of object writing.
Where FDD Comes In
Failure Driven Development reframes failure as information rather than catastrophe. That is exactly the philosophical move the other fields make to enable generative work — they just make it at the psychological level rather than the architectural one.
Lamott’s shitty first drafts, Pattison’s no-self-editing rule, Cameron’s prohibition on re-reading morning pages — all of these are systems for making failure safe enough to be productive. FDD says the same thing at a deeper level: failure is not a deviation from the process, it’s the mechanism of the process.
The songwriting and writing teachers have practice without theory — they know the techniques work but haven’t fully articulated why. FDD is positioned to supply the theoretical grounding: the connection between psychological safety-to-fail and actual generative productivity is implicit in Goldberg and Pattison but never made explicit.
FDD could be the first framework in software that:
Names the generating/evaluating split explicitly in a programming context
Provides a concrete practice (analogous to object writing or morning pages) for the generative phase
Grounds it in a coherent epistemology rather than just craft wisdom
Distinguishes tactical failure-tolerance (agile’s “iterate fast”) from epistemic failure-embrace (“failure is how you find out what you need to know”)
That last distinction is the one that makes FDD genuinely new rather than just a restatement of agile. Agile tolerates failure as an unfortunate cost of moving quickly. FDD treats failure as the primary signal — the thing that tells you where the real problem lives.
Paul Tarvydas is the originator of Parts-Based Programming (PBP) and Zero Dependency (0D) component architecture. His book Failure Driven Development is available in progress on Leanpub at leanpub.com/failuredrivendevelopment. He writes at Programming Simplicity on Substack.
Appendix: Full Conversation
The following is the unedited conversation with Claude that generated the ideas in this article.
Paul: how does pat pattison teach brainstorming for songwriters
Claude: Pattison’s core brainstorming method is called object writing, and it’s the centerpiece of his book Writing Better Lyrics (1995). Here’s how it works:
The basic exercise
Pick a tangible object — a person, place, or thing — and do a timed free-write about it, keeping the writing anchored to all seven senses. Set a timer for 10 minutes, write whatever sensory impressions come to mind in a stream-of-consciousness style, and stop when the timer goes off. Don’t write in complete sentences, and above all don’t self-edit. If your mind veers off in different directions, go with it — as long as it stays sense-bound.
The seven senses
The five familiar senses (sight, sound, smell, taste, touch) plus two less obvious ones: organic sense (how your body feels internally — “butterflies in your stomach”) and kinesthetic sense (how your body moves in or relates to space — “the room was spinning”).
Why sense-bound writing specifically
In daily life we mostly stay at surface level. In object writing, your job is “to master the art of diving” — getting to the bottom of the sea, finding the shell, opening it, and finding the pearl inside. The idea is that abstract emotions become communicable only when grounded in concrete sensory experience that listeners can share.
The daily practice angle
Pattison advises setting your alarm 10 minutes earlier and doing object writing first thing in the morning. He warns against going over 10 minutes — if you use a longer session one day, you’ll use it as an excuse to skip the next day.
The title as brainstorming tool
Separate from object writing, Pattison also teaches using a title or hook as a brainstorming scaffold — it immediately suggests implicit concepts (the “DNA” of the title), and helps organize ideas into effective sections, making the process efficient while giving structure to what the verses can explore.
The “no free zone” for generating raw material
In his co-writing and classroom work, Pattison emphasizes a “NO-free zone” during the generative phase — no criticism, no shooting down ideas. The inner critic is explicitly told to stand down while material is being produced.
In short, his brainstorming philosophy is: bypass the conscious, judgmental mind by flooding the page with sense-specific concrete detail on a tight timer, then mine that raw material for lyric ideas.
Paul: how does jai joseph teach this
Claude: I’m not finding good results specifically on Jai Joseph/Josefs teaching brainstorming as a distinct topic — his book Writing Music for Hit Songs is focused primarily on melody, harmony, and musical craft rather than the lyric-brainstorming angle that Pattison emphasizes.
It’s possible you’re thinking of a different teacher, or perhaps a specific course or video where Josefs addresses idea generation. Could you give me a bit more context — is this from a book, a course, a YouTube video, or something else? That would help me find the right person and material.
Paul: any songwriting guru
Claude: Here are some of the major songwriting teachers and how they approach brainstorming/idea generation:
Pat Pattison (Berklee) — object writing, as covered above. Sense-bound timed free-writing to bypass the conscious mind.
Jason Blume — teaches a “title first” approach. Mine everyday conversation, overheard phrases, and clichés with a twist for title ideas. Keep a running list at all times; ideas are everywhere.
John Braheny (The Craft and Business of Songwriting) — emphasizes keeping an “idea file” — scraps of paper, recordings, journal entries — and revisiting them regularly. Raw material accumulates; you mine it later.
Ralph Murphy (ASCAP) — very Nashville-practical: start with the title, ask “what does this title promise the listener?” and brainstorm only what fulfills that promise. Ruthlessly cuts anything that doesn’t serve the title’s implied contract.
Jimmy Webb (Tunesmith) — more organic and romantic about it: walks, drives, daydreaming, letting the unconscious work. Less systematic than Pattison, more about creating conditions for inspiration — solitude, boredom, sensory experience.
Sheila Davis (The Songwriter’s Idea Book) — the most explicitly brainstorm-focused of the lot. Forty distinct strategies including free association, clustering/mind-mapping around a central word, “what if” scenarios, and working from images or photographs.
Berkeley’s Andrea Stolpe — teaches brainstorming from personal story: interview yourself about a specific emotional memory, extract concrete details, then find the universal in the specific.
The broad consensus across all of them: write before you edit, collect more than you need, and anchor abstract emotion in concrete specific detail. Pattison is the most systematic about the sensory-grounding piece; Davis is the most varied in her toolkit.
Is there a particular angle you’re developing this for — lyrics, melody, or the general creative process?
Paul: how about bookwriting?
Claude: Same basic territory — bypass the inner critic, generate raw material, organize later. Here are the main teachers:
Natalie Goldberg (Writing Down the Bones) — closest to Pattison in spirit. Timed “writing practice”: pick a prompt, keep your hand moving, don’t cross out, go for the jugular. The hand bypasses the censoring mind. Very Zen-influenced; she studied with a Zen teacher and treats writing practice like meditation.
Julia Cameron (The Artist’s Way) — Morning Pages: three longhand pages every morning, stream of consciousness, no re-reading. Not meant to be good writing — meant to drain the “brain sludge” so the real creative work can flow. Hugely influential across all creative fields.
Peter Elbow (Writing Without Teachers) — coined “freewriting” as a formal technique. Timed, uncensored, no stopping. Also teaches “cooking” — letting ideas sit and ferment before shaping them. Distinguishes the generating self from the editing self and insists they can’t operate simultaneously.
Anne Lamott (Bird by Bird) — “shitty first drafts.” Permission to write badly is the whole game. Also teaches extreme narrowing of focus: don’t write a book, write what you can see through a one-inch picture frame.
Stephen King (On Writing) — situational rather than plot-driven brainstorming. Put characters in a situation and watch what happens; don’t outline, just discover. Keeps a notebook but trusts his subconscious more than any system.
Dorothea Brande (Becoming a Writer, 1934) — arguably the original. Write immediately upon waking before the rational mind engages. Predates Cameron by fifty years with essentially the same insight.
The through-line across all of them is identical to the songwriting teachers: separate generation from evaluation, use time pressure or physical momentum to outrun the critic, and treat the first draft as raw material not finished product. Goldberg and Pattison are almost the same pedagogy applied to different crafts.
Paul: my sense is that brainstorming in software development is far less developed than in other fields
Claude: That’s a sharp observation, and I think you’re right. A few thoughts on why:
Why software brainstorming is underdeveloped
The dominant culture treats programming as engineering or mathematics — fields where rigor and correctness are the virtues, not generative looseness. The inner critic is baked into the tools: the compiler rejects your shitty first draft immediately. It’s hard to maintain “keep the hand moving, don’t cross out” when the environment is constantly evaluating you.
Also, the field conflates design brainstorming with implementation. Whiteboard sessions, user stories, sprint planning — these exist, but they’re mostly about requirements and architecture, not about the kind of raw generative thinking Pattison or Goldberg are after.
What does exist
Sketching / paper prototyping in UX/design (borrowed from design thinking)
“Spike” solutions — throwaway code to explore a problem space
Rubber duck debugging as a kind of dialogic thinking-aloud
Ward Cunningham’s CRC cards for object brainstorming
Some of the agile literature touches on it obliquely
What’s missing
Nobody in software has articulated the equivalent of “object writing” — a daily timed practice for generating design ideas, uncoupled from correctness. Nobody teaches programmers to separate the generative self from the evaluating self the way Pattison or Elbow do explicitly.
Your own work on 0D and PBP is arguably closer to this territory than most — treating diagrams and notations as a way to think before committing to implementation. DaS as a brainstorming medium, essentially.
Do you think the missing piece is a practice (like morning pages for coders) or a notationthat’s loose enough to support generative thinking without triggering the evaluating mind?
Paul: how about failure driven development (my leanpub book, unfinished)
Claude: Your FDD concept is directly relevant here, and potentially a significant contribution to this gap.
How FDD fits the brainstorming problem
The songwriting and writing teachers all share a core move: make it safe to produce bad output. Lamott’s “shitty first drafts,” Pattison’s timed writing with no self-editing, Cameron’s morning pages you’re not allowed to re-read. The psychological infrastructure is “failure is not just acceptable, it’s the mechanism.”
FDD says essentially the same thing at the architectural level — failure is information, not catastrophe. That’s the generative insight the software field is missing. Most programmers treat a failing test or a wrong design as something to be minimized and hidden; FDD reframes it as the driver.
What FDD could add that the others don’t have
The songwriting teachers have practice but no theory of why failure-tolerance works cognitively. You’re positioned to supply that — the connection between psychological safety-to-fail and actual generative productivity is implicit in Goldberg and Pattison but never made explicit.
FDD could be the first framework that:
Names the generative/evaluating split explicitly in a software context
Provides a practice (analogous to object writing or morning pages) for the generative phase
Grounds it in a coherent theory rather than just craft wisdom
The gap it fills
Agile tolerates failure tactically (iterate fast). FDD embraces failure epistemically — as the way you find out what you actually need to know. That’s a different and deeper claim.
Have you framed FDD explicitly in terms of separating the generative phase from the evaluating phase, or is that angle still implicit in the current draft?
See Also
Email: ptcomputingsimplicity@gmail.com
Substack: paultarvydas.substack.com
Videos: https://www. youtube.com/@programmingsimplicity2980
Discord: https://discord.gg/65YZUh6J. q
Leanpub: https://leanpub.com/u/paul-tarvydas
Twitter: @paul_tarvydas
Bluesky: @paultarvydas.bsky.social
Mastodon: @paultarvydas
(earlier) Blog: guitarvydas.github.io
References: https://guitarvydas.github.io/2024/01/06/References.html
Paid subscriptions are a voluntary way to support this work.

