liveBook · Manning

Creative method

As explained in The Creative Programmer

A structured practice intended to stimulate, develop, evaluate, or improve creative ideas.

A creative method is a structured practice for getting past a roadblock, exposing assumptions, generating alternatives, or improving an idea. It treats creativity as a set of usable tools rather than a rare talent: a programmer can deliberately change perspective, ask better questions, or give an unfinished idea another round of attention. section 8.1 section 8.4

Methods are not isolated tricks. They interact with technical knowledge, communication, constraints, critical thinking, curiosity, and a productive state of mind. A useful habit is to select a method that matches the obstacle, then test whether its surprising output actually improves the work. section 1.4 section 1.4.1

A practical toolbox can include:

  • Ask naive questions or pose “What if...?” scenarios to reveal hidden assumptions, implicit knowledge, and consequences. section 8.4.1
  • Use the Lunette technique to move between levels of abstraction: zoom into code, then step back to a bird’s-eye view. section 8.4.1
  • Reverse brainstorm by voicing criticism first, then using it to motivate improvements. section 8.4.1
  • Create unusual classifications of project concerns, or imagine an expert’s perspective to disrupt familiar thinking. section 8.4.1

Triple Nickels during a coding stall

When a team hits a wall, each person writes ideas independently for five minutes. Papers then move right; each recipient gets five minutes to extend the idea. Repeating the passes helps uncover limitations and strengthen proposals before unconventional options are dismissed too quickly. section 8.4

Creative methods can be borrowed from art, writing, philosophy, and agile retrospectives, but borrowing is not blind imitation. Paint handling may not help a software problem directly; higher-level practices and habits may. Keep the playful experiment, but verify its value in the actual programming situation. section 8.1 section 8.2

Figure 1.3 The Creative Programmer mind map that ties together all seven chapters of this book.
CH01_F03_Groeneveld

Use the mind map to place creative methods among the connected dimensions of creative problem solving, rather than treating them as a separate bag of tricks. section 1.4

How The Creative Programmer covers it

How deep it goes
Explains several named practices with procedural examples, while deferring detailed treatment of their later applications.
Examples
Uses Marcus Aurelius, index cards, agile retrospectives, Triple Nickels, and seven software-engineering techniques.
What it assumes
Assumes no programming-specific method knowledge, while presenting a toolbox as learnable technical knowledge for overcoming roadblocks.
What you can do after
Apply creative techniques during development to uncover assumptions, develop alternatives, and strengthen ideas.
How it connects
Connects creative techniques with problem solving, critical thinking, curiosity, constraints, flow, and agile retrospectives.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of The Creative Programmer. The section links point to the parts of the book it draws on.