Tips for Editing Patterns

The pattern community maintains the practice of shepherding all submissions to their conferences. I've often chosen the most difficult papers to shepherd, especially when they were of an unusual style or by an author that others would be afraid to criticize. My advice here is a distillation of questions I ask and answer as a way to get to the heart of the material. webpage

Argument

Patterns and Pattern Languages are a literary form. This means that there are rules to follow. The result will be better for following the rules, better in that it becomes informed by the rule maker, and, better in that those familiar with the form can more easily interpret the work. Following the rules does not, of course, make the work worth interpreting. The work must have something worth saying and actually say it for the work to have value.

Pioneers in a new computer technology have lots worth saying. I am confident of this because making computer systems work requires an unusual mix of creativity and meticulousness that almost guarantees both originality and repeatability of programming acts. The value of their collective knowledge increases when there are more programmers, when they have pioneered alone longer, and when there are larger numbers who will follow hoping to learn from their experience.

The pattern form is well suited to reporting the expertise acquired writing real programs. This is not surprising because the form in informed by someone (Alexander) on a very similar quest: record the knowledge acquired in the act of creating utility in a medium unforgiving of mistakes. But Alexander found the assembly and organization of expertise far more difficult than he had expected. This is because he and we can't yet fathom how practical knowledge is stored in the brain; how it can be so comprehensive and yet so close at hand.

I've written tips for authors attempting the pattern form. Here I offer advice for those who edit those authors.

Advice

My advice here is a distillation of questions I ask and answer as a way to get to the heart of the material. In the end there is really only one question that I have to answer. That is ...

Do I believe anyone will understand, remember and take action?

A pattern is advice. Will this advice be followed?

Unfortunately often the answer is no. This is rarely because of poor language skills. Rather, as I argue above, it is because of the intrinsic difficulty of the form.

Does the pattern ask us to make or do anything?

If there is no act there will be no action. A common mistake is to ask that something be some way. For example, be user friendly. Ask the author what they did that made their system user friendly. These are the patterns.

Does the pattern solve a natural problem?

What would happen if this pattern were left out?

Is the consequence of such omission due to facts present in the world or dependencies with other patterns? If the latter, then the pattern may be just a fragment broken off of the real pattern.

Does the pattern speak?

The best patterns read like advice from a big brother: trust me on this one kid, I've been there. If you don't hear this message then you have to probe a lot deeper.

The pattern may be out of place. Is the context clear and believable? Ask the author when they've used the pattern. Ask "why then?"

Look for the triggers to their action. Here lies the keys to context. There will be resistance to moving a pattern because relocating it will turn the pattern inside out. The result is always better but the author may be more attached to his words than his pattern.

Templates

Do not confuse the use of a template with writing a pattern. In my years of writing and reviewing patterns I've found templates a mere nuisance and never a help. I try to read past them to see the whole pattern as one expression and then judge it by the test questions above.

I've read patterns that were no more interesting than reading a survey form. For some of these I've been able to find the spark and coax it to a blaze. And once blazing, the patterns will survive any template, grammar and punctuation.

Ward Cunningham
Portland, 2002