ChiliPLoP, Day 3

Last Thursday, my workshop met for a second day. Having agreed on a working definition for collaboration (see Collab:Collaboration), we started working on the Pattern Language. As was the case the previous day, I knew exactly what I wanted to accomplish, and I made that clear when we got started. What differed this day, however, was that Linda Rising, Ofra Homsky, and Joe Yoder — our three experienced Pattern Language authors — led the way in terms of process.    (1CT)

We began by laying out the index cards we had collected the previous day onto a table. The goal was to see what patterns we had and what seemed to be missing. The definition that we had collectively agreed on the day before helped us tremendously with this process. For example, because collaboration — as we defined it — required bounded goals, that meant there were patterns related to the start and end of the collaborative process. There were also patterns related to interaction (meetings for example) and knowledge exchange (Shared Display).    (1CU)

Mapping out our cards also helped us identify gateways to other Pattern Languages, such as Linda and Mary Lynn Manns‘s patterns for introducing new ideas into organizations, Ofra’s patterns for leadership, Jim Coplien and Neil Harrison‘s organizational patterns, and GivingSpace‘s patterns of uplift.    (1CV)

Lots of brainstorming and storytelling happened throughout. My favorite was a story that Joe Yoder told about a factory where he had previously worked, which literally left its financial books open on the factory floor. Anyone who worked at the company could examine the books and suggest improvements. The open books were a form of Think Out Loud that showed that the company treated its operations as a collaborative process involving all of its employees, regardless of position. Tremendously empowering stuff.    (1CW)

Linda, Ofra, and Joe constantly stressed the importance of iteration and cautioned Josh Rai and me about getting too caught up with formality too early in the process. Ever fearful of being berated by Ralph Johnson or Jim Coplien, I would periodically complain, “That name isn’t a noun phrase!” Fortunately, the rest of the group kept me on track. We had plenty of time to weed out and refine our patterns after the brainstorming process.    (1CX)

We ended our brainstorming at lunch, at which point we had 36 cards. After lunch, we picked two patterns — Collab:StoneSoup and Collab:KickOff — and Linda led us through a group pattern writing exercise. (I’ll say more about these two patterns when I describe Day 4.) She gave us a letter-sized piece of paper for each component of the Coplien Form (name, problem, context, forces, solution, rationale, resulting context, known uses, and related patterns). Each of us took one piece of paper, wrote down our ideas, then exchanged it with someone else for another piece of paper. The cycle continued until we all had our say to our satisfaction. Afterwards, we discussed what we had written.    (1CY)

This was the first time Linda had tried this particular exercise, and I think it worked very well. It was particularly good at helping us reach Shared Understanding. We all had slightly different views of both patterns. Actually going through the group writing process helped make these differences explicit, at which point we were able to talk through our differences.    (1CZ)

Because Josh and I were the pattern-writing newbies in the group, we each collected the sheets for one of the patterns and promised to combine, edit, and rewrite them into a readable draft. I chose Collab:StoneSoup; Josh took Collab:KickOff. The plan for Day 4 (which was only a half day) was to workshop our results.    (1D0)

I ended the day with a brief overview of how blogs and Wikis integrated with Backlinks could be used to tie stories with corresponding patterns.    (1D1)

Chili Beer    (1D2)

Since that night was our last in Carefree, I decided to organize a margarita BOF. Earlier, somebody had told us about the Satisfied Frog, a legendary Mexican restaurant and bar that had “a thousand different kinds of margaritas.” This was the obvious place to hold our BOF, so Josh, Jerry Michalski, Gerry Gleason, and I trekked on over.    (1D3)

As with most legends, the facts had been slightly exaggerated. The Satisfied Frog only served one kind of margarita, although in fairness, it did give us the option of frozen versus on-the-rocks and with or without salt.    (1D4)

The restaurant did, however, brew its own special beer — chili beer — which was bottled with a serrano chili pepper. It had a nice kick to it, but it wasn’t overpowering. I recommend it to those with a a penchant for adventure and a bit of a heat tolerance.    (1D5)

ChiliPLoP Day 1

Yesterday afternoon, I arrived in Phoenix, Arizona for Chili PLoP
2004. I hitched a ride with Ralph Johnson and Joe Yoder to Carefree,
Arizona, and soon found myself at the Lutheran Retreat Center, where the
conference is being held.    (1BJ)

The post-dinner agenda was to discuss the structure of the
conference. Other than the meal schedule (which is strictly
enforced), there is no structure. This is what differentiates
Chili PLoP from Hillside Group‘s other PLoP conferences. The setting is
more relaxed, and the agenda is entirely flexible.    (1BK)

Once we got business out of way, the fun began. There were a lot of
great conversations, and a few of us stayed up late into the night
chatting about everything from Pattern Languages to politics.    (1BL)

Tom Munnecke got the discussion started by asking about the
generativity of Pattern Languages. This is an ongoing beef that Tom
has with Pattern Languages, a misunderstanding that’s important to
clarify.    (1BM)

Tom’s thesis is that society is too problem-centric. For example, our
approach to healthcare is to cure sickness rather than to promote
healthy living. Tom’s GivingSpace project — and the reason he’s here
— is to identify and propagate patterns of uplift. This is a
wonderful effort. It’s related to our work on patterns of
collaboration, and it’s an effort I fully support.    (1BN)

Patterns are often defined as solutions to problems in a context.
Tom’s complaint is about the term “problem”; he think it prevents
patterns from being generative. “Problem” in this context, however,
means, “Something that needs a solution,” not, “Something that is
wrong.” In other words, describing things in terms of problems and
solutions does not necessarily prevent the solution from being
generative.    (1BO)

In fact, Christopher Alexander stresses the importance of identifying
generative patterns. Linda Rising cited an example first described by
Don Olson (and is also discussed in Linda’s book, The Patterns
Handbook
). Beginning skiiers often have a tendency to lean back,
something that will cause them to lose their balance. You could say
that one pattern is, “Don’t Lean Back.” This is not very useful
advice. Leaning back is an instinctive, not conscious action.    (1BP)

Don’s suggested pattern is “Hands In View.” This is a conscious action
you can perform, and the end result is that you lean forward. This is
a great example of a generative pattern.    (1BQ)

Ralph cited a similar example in software development:
qmail. The motivation for qmail was to
build a secure mail server. The approach, however, was not to
identify and fix every security problem. The approach was to design
small, modular programs that were easy to verify as secure. In other
words, security was an emergent property of the software’s design.    (1BR)

Other topics of note:    (1BS)

  • Ralph offered the following advice on naming patterns: Use noun phrases, not verbs.    (1BT)
  • Some patterns are not easily cross-cultural. For example, we talked about The Mexican Wave as a pattern of uplift. (I didn’t know that it was “the Mexican wave”; I thought it was just “the wave.”) Ofra Homsky suggested that Israelis would never do the wave. Joe Yoder said the same about Chicago Bears’ fans. The reasoning was that these fans are culturally noncomformist, and that they would never reach the necessary critical mass of fans in order to get the wave going. Similarly, Ofra explained that in America, when people want to increase their applause, they applaud faster. In Europe, people start applauding in rhythm.    (1BU)
  • Jerry Michalski related a story from Dave Grossman’s book, On Killing. Prior to World War I I, the U.S. military did a study that showed that in previous wars, only 10 percent of American soldiers were shooting to kill. This is because most humans naturally do not want to kill other people. The military reacted by changing its training methods, and by the Vietnam War, that number had increased to 90 percent. The point was that we are capable of changing people’s behaviors through training. The result, however, was not only increased killing efficiency but also the emergence of post-traumatic stress syndrome, which only started appearing after the Korean War, and an increase in the suicide rate among soldiers in wartime. The military had managed to change soldier’s behaviors, but at a terrible psychological cost.    (1BV)

Hillside Group Annual Meeting

I attended lots of great meetings and talks over the past two weeks. I’m going to start posting some notes and observations in reverse chronological order.    (9I)

Last Thursday and Friday, I attended the Hillside Group‘s annual post-OOPSLA meeting, held at the Anaheim Sheraton in Southern California. Richard Gabriel, president of the Hillside Group and one of our advisory board members, and Dirk Riehle, Hillside Group‘s treasurer, invited me to attend.    (9J)

The Hillside Community    (9K)

My parents recently moved to Irvine, which is about 20 minutes south of Anaheim, so I’m always looking for opportunites to go down south and visit. But that’s not why I wanted to attend this meeting. Regular readers of this blog know that Pattern Languages are central to Blue Oxen Associates‘ strategy for understanding and improving collaboration and communities. This is why I asked Richard Gabriel to join our advisory board in the first place, and is ultimately why I wanted to attend this meeting.    (9L)

Hillside Group was founded a decade ago by a bunch of software engineers (including Gabriel, the Gang of Four, and several other gurus in the field) in order to figure out how to write pattern languages for software design. The group hosts several Pattern Languages of Programs (PLoP) conferences every year, which are loosely modeled on writers’ workshops.    (9M)

When a bunch of engineers model their conferences on writers’ workshops, you know that they’re not your run-of-the-mill geeks. When these same engineers are intimately familiar with the works of architect Christopher Alexander, you know that they’re definitely not your run-of-the-mill geeks.    (9N)

All of this was evident throughout the meeting. Those in attendance (about 40 people) were thoughtful and highly self-reflective. Many of them had written books, and many more are writing books. More than anything, I was delighted to see the quality of meta-thinking within the group and a general inclination for action. These are folks who have recognized that Pattern Languages are a wonderful tool that can be applied to many other things besides software design, and have done exactly that. For example, the Hillside Group has a pattern language for shepherding (mentoring new writers), patterns for Pattern Mining, etc.    (9O)

I was struck by the group’s overall camraderie and openness. The interaction was light, easy-going, and usually accompanied by laughter. Shared Language was strongly evident. When meetings were about to begin, self-described group “den mother” Linda Rising would shout, “Group sneeze!” Everyone would stop in their tracks, shout “Hishi,” “Hashi,” or “Hoshi,” and then there would be silence.    (9P)

Hillside Group felt like a community with QWAN. This was not totally unexpected, given that Hillside Group is one of the few communities that are familiar with the term “QWAN.” In addition to being a valuable repository of knowledge about pattern languages in general, Hillside Group is a community worth studying.    (9Q)

Odds and Ends    (9R)

A topic that came up throughout the meeting was how to better leverage asynchronous tools for collaboration. The consensus was that the face-to-face meetings were extremely important and valuable, but that they could be made more efficient with the right tools. One of the key problems raised was that face-to-face meetings often generated a great amount of energy that promptly dissipated once the meetings adjourned and people went back to their busy lives. I think about this problem constantly. I’ve touched on it briefly in a previous blog entry, and hope to discuss it more soon.    (9S)

A tool idea that came out of this discussion was “Cyber Shepherd.” Inspired by Cyber Chair, a tool for managing the conference submissions and review process, Cyber Shepherd would be a tool for managing the pattern language submission and shepherding process.    (9T)

Husband and wife team Tracy Bialik and Russ Rufer introduced the Silicon Valley Patterns Group, which meets twice (!) a week to discuss software patterns. The group has been going on strong for five (!) years. I plan on attending one of their meetings when I return to the Bay Area, but it already seems to be a very good candidate for studying sustainable grassroots communities.    (9U)

Hanyuda Eiiti, a leading Japanese advocate of software patterns, entertained the group with his “Pattern Dance,” a live enactment of the MVC pattern.    (9V)

I got a chance to chat for a bit with Ralph Johnson, one of the Gang of Four, who explained how the Design Patterns book came about, and how Christopher Alexander‘s ideas began seeping into this community. I’ll post tidbits of that story here when the opportunity arises, and I hope to write a full-length article about this at some point.    (9W)