When Do You Refactor or Restart?

I’m teaching my writing workshop this month. I made a point of explaining the difference between cycling between parts of the document and rewriting.

I often cycle. I realize I forgot to say something key at the beginning. Or, I started the piece with one idea in mind and it morphed into something else. I need to redo the title.

I rarely now edit the piece in ways I used to edit. I used to edit everything I wrote to death. I removed all the passion. I removed many of athe interesting bits, to make the grammar checker happy. I don’t do that any longer.

When I write, I often check spelling after I write down. (There are several pieces to writing: organizing/research/preparing; writing down where you spill words on the page and do not edit; editing; and publication.) I stay  in flow when I write the words down. I still edit, but I have less editing to do because the pieces are all there.

Cycling is when I’m still in flow. I don’t edit as in check spelling or grammar. I move things and add things. Every so often, I remove things. I think of cycling as refactoring as I proceed, making sure my intent is still there.

Maybe you think writing English is different from writing code. I used to think so, and now I think it’s more similar than I realized.

My cycling is similar to refactoring. I make small changes, retaining the intent of the work. I don’t often move large chunks of things as I write. When I rearchitect a book or an article, I think of that as redesign, redoing my work.

We have choices in our work. We can cycle in flow/refactor as we write code. We can choose to restart: redo/rewrite/redesign.

When do you choose each?

I purposefully choose to stay in flow as I write. I used to do that as a developer and tester. I found it much more difficult to stay in flow as a manager, project manager, or program manager. That’s because the technical leadership positions tend to be interrupt-driven. Writing, as a non-fiction writer, developer, or tester cannot be interrupt-driven, because you lose flow.

If you interrupt yourself, by mixing writing-down and editing, or by redesign instead of refactoring, you make a decision to redo, instead of finishing your initial thoughts. You might not realize that’s a decision.

I hope you decide to make that decision consciously. I see the effects of these decisions in how I write, in how other people develop/test product, even how I do laundry. When I interrupt myself to start over, I make the entire process take longer.

When I interrupt myself to start over, I make the entire process take longer. I lose my place. In writing, I often lose some of what I wanted to say. (A couple of weeks ago, the dirty laundry sat in the washer for an hour because neither Mark nor I had turned it on. All because we restarted :-)

Refactoring, my writing cycling is one thing. Restarting is another. There is a difference.

That is the question this week: When do you refactor or restart?


Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: