Alan O'Callaghan

Software Technology Research Laboratory, The SERCentre

De Montfort University

The Gateway

LEICESTER LE1 9BH, United Kingdom

e-mail: aoc@dmu.ac.uk


So What’s New?

 

Problem

How do you deal with the reaction that a pattern adds no value because it is so obvious?

 

Context

Patterns are said to be “discovered not invented”. Therefore some experienced developers are likely to be utilizing patterns “without knowing it”. For them best practice is standard practice, and any given pattern might look like common sense at best or trivial at worst. On the other hand there are also likely to be, especially among novices) people for whom the pattern is genuinely new as a solution to a recurring problem.

 

Forces

 

Solution

Welcome comments such as “This is the way I do things already” as validations of the pattern, but seek counterexamples to show the value of the pattern to novices. Celebrate the wisdom of the master craftsperson and focus on her as a source of further patterns.

 

Resulting Context

 

Rationale

See Alexander’s Gradual Stiffening pattern

 


Role Play

 

Problem

How can you be sure that someone’s (or a group’s) understanding of a pattern or a system is the right one?

 

Context

In the face of a novel idea or new technology the recipient claims to have understanding. But sometimes this masks a misunderstanding or even a resistance to the innovation.

 

Forces

 

Solution

In a workshop situation do a walkthrough or run a software simulation that exercises their understanding. Establish a “no blame-no shame” environment in which to carry out the exercise. Run the exercise iteratively and incrementally until success is achieved.

 

Resulting Context

 

Rationale

Walkthroughs and simulations reveal misunderstandings. They cannot be fudged. They succeed or fail. By carefully crafting a “no blame – no shame” environment gaps in understanding on behalf of individuals and/or the group can be identified, and iteratively revisited until the gap is closed. CRC walkthroughs in responsibility-driven design utilise this technique. The SOMATiK anti-case tool that supported the SOMA method achieved the same effect through software-based, graphical simulations.