Document

270 Are the Androids Dreaming Yet?

Ref IMAGES-003-HOUSE_OVERSIGHT_015960.txt Release House Oversight Committee — Epstein Estate Records (Nov 2025) 1 pages

Epstein Suite indexes the text; the original document lives at its official source. We don't host the original file — view it on the official release to read it in full.

View the original on the official release

Document text

Text is machine OCR and may contain errors. Confirm against the original source above.

270 Are the Androids Dreaming Yet? The Role of ‘Process’ in Creativity We hear a lot about ‘process’ when developing software and other creative tasks. The first thing to realize is process does not write software and every moment spent on process is a moment not writing software. Excessive process can bring the productivity of the average programmer down from a thousand lines per day to one. On the other hand, we all know that using no process to write software results in useless software. Good solo programmers, playwrights or composers are surrounded by lists and post-it notes full of process. Where is the balance to be struck? In my view ‘process’ is there to help humans with the tasks we find naturally difficult. Humans, as we know, are dreadful at remembering lists of symbolic information. Give a human ten numbers to memorize and they will quickly forget them. Give Microsoft Excel ten numbers and it will remember them forever, or, at least, until your next upgrade! So the first job of process is to collect lists of things and sometimes even lists of those lists. Another significant affliction affecting humans is procrastination. We tend to put off decisions. Process can set waypoints; when will the job of splitting a project occur, when will we begin the test, and so on. The third job of process is to keep track of the division of labor — if the project has to be divided. Who will do what? Essentially we are back to lists again. The most important job of process, in my view, is to keep track of scope. ‘Logical scope creep’ when unrecognized destroys software projects. Scope creep is fine if it just adds more linear work. “Could we add three more product types?” “Could you do another language?” “Can you make this interface prettier, less cluttered?” It may cause a busy team to groan, but it does not damage the integrity of the design. To put it back in Brooks’ language, accidental creep is fine — provided you add some resource. Essential creep is not. Adding the french language prompts to a project in English might be fine, putting language translation into a project may be a step too far. The project may have strayed into a different logical class. Increases in logical scope often require redesign, you must stop and re-architect if you are to avoid bugs in plague like quantities. If programming software is a creative task, how can we help improve productivity? The most important factor is to provide uninterrupted peace and quiet. Programming is a task where people need to hold many ideas in their head at the same time, and this requires deep concentration. To get some idea of the creative process at work, listen to the excellent TED lecture by John Cleese. HOUSE_OVERSIGHT_015960

Have a question about what this document contains?

Ask the documents