You hear a lot about writer’s block. Almost every book on writing I have contains some words of advice on how to make progress–how to get past the dreaded blank sheet of paper (or these days, blank screen). There’s a lot of good advice out there, like this list from 43 Folders, that can help you get going when you’re stuck. I’m willing to bet that some of those tricks also help with other creative things–like writing software.
These days, the “agile” development methodology is king in software development. It wasn’t long ago (from my perspective) that agile development was viewed with hostility and suspicion by most corporations, but it appears to be following the path described by Arthur Schopenhauer:
“All truth passes through three stages. First, it is ridiculed. Second, it is violently opposed. Third, it is accepted as being self-evident.”
Agile software development breaks down the development of large pieces of functionality into very small pieces, and doesn’t use much long-term planning. If you know the user is going to have to log in to your web page, you can figure out how to do that in isolation–without knowing whether they are logging into a nuclear reaction flash game, or an actual nuclear reactor control interface.
Well, that’s the theory. As you may guess from my example, I think it’s easy to oversimplify requirements if you don’t spend at least some time thinking about the big picture.
Writing fiction has the same kind of issues as writing software–and I think each camp can (and should) learn a few lessons from the other.
Sitting down and writing stuff with no outline at all is something many writers do, but they often admit they end up writing way more than they might otherwise as they arrive at one dead end after another. In software, this kind of approach is often referred to as “cowboy coding“–you throw out all process on the theory that a sufficiently experienced programmer will just do the right thing without all that pesky overhead. That works OK for your short-story-length software project, but falls down on the big tasks.
Writers do something called timed writing, which is a really cool thing–and which shouldn’t be confused with writing without an outline. Timed writing is an attempt to get yourself unstuck–to get words and ideas out in the open, without worrying about every little detail. It’s a method of sticking duct tape over the mouth of your internal critic, so you can actually get something written. The theory is, once you’ve got yourself going you can switch over to writing your real story and make progress. It’s mental inertia–what starts at rest tends to stay that way, and what’s in motion tends to stay in motion. It actually works.
I think software people would benefit from the same thing. Spend ten minutes writing code as fast as you possibly can, and then throw it all away. I haven’t tried this yet, but I think I’ll give it a shot.
The thing that agile developers do that I think would help a lot of writers is to focus on a small piece. A chapter becomes your world for the week, and a scene becomes your world for the day. Yes, you’ll have your overall outline and character bios and your synopsis and your premise–the same as in software you have some marketing requirements or “user stories” (yes, they actually are called stories, in software development). But the overwhelming mountain of the task in front of you will shrink to the comparative molehill of your focus. Fix this paragraph. Flesh out the setting for the scene. Write the dialog for a scene.
Writing is mental, whether it’s fiction or software. Sometimes you have to trick yourself.
Sometimes after we have a dinner party, I feel overwhelmed by the task of cleaning up all the dishes and tidying everything up. It’s usually late, I’m tired, and there is a lot more than usual to do. My mental trick is to pretend to myself that a small part of the job is the whole thing. We’ll wash and dry the pots and pans, for example, and I’ll put them away, and I’ll pretend we’re just getting started–I’ll think to myself “Hey, this isn’t as bad as I thought!” Or I’ll clean up the living room and then go check my email, then come back and pretend that I’m just starting.
I think “agile” methods have something in common with that. Small problems aren’t just easier to do, they’re easier to imagine doing. The journey of a thousand miles may begin with a single step, but it’s still a hell of a long fucking walk. But a journey of a thousand meters? Stand back, everyone! I can do this!