Also Business patterns for software developers
I am a regular attendee at the Hillside Europe EuroPLoP (European conference on Pattern Languages of Programming) conference held each year in Bavaria, Germany and an occasional attendee at VikingPLoP. I was Conference Chair of EuroPLoP 2008 and Programme Chair of EuroPLoP 2009.
I am honoured to have twice been presented with the Neil Harrison Award for Shepherding at EuroPLoP 2005 and VikingPLoP 2007.
Encapsulated Context design pattern
Encapsulated Context is software design pattern applicable in C++, Java, C# and other languages. It was originally reviewed at EuroPLoP 2003 and has been included in Pattern Languages of Program Design 5. (This book is often called ‘PLoP D5’ for short).
The version of Encapsulated Context available for download here is slightly different to the version in the book. This version is slightly longer while the book version has benefited from the work of professional publishers.
December 2009: minor update to Context Encapsulation changed some formatting and added a postscript. Download above is for the latest version (old versions are not maintained on this site).
Since publication several other patterns have referenced Encapsulated Context:
- Context Object from Arvind S. Krishna, Douglas C. Schmidt and Michal Stal.
- Context Encapsulation from Kevlin Henney
Lessons from shepherind paper for EuroPLoP and other patterns conferences: Grow Your Author and One Pattern
EuroPLoP Focus Groups
One of the other things we do at pattern conferences is to run “Focus Groups.” Focus Groups come in all shapes and sizes, the output from a focus group ranges from nothing, to memories, to a wiki and sometimes to a report. The original intention of Focus Groups has been lost in the mists of time, maybe they were originally intended to help people find patterns. These days they may lead to patterns but more often than not they are just opportunities to think about a topic in more depth.
I have been involved in many focus groups and have run several. Two of my focus groups in particular have been more successful than others and have resulted in reports. Both of these were run with Lise Hvatum: “What do we think of Conway’s Law Now?” (2005) and “Does Culture play a Role in Software Development?”
Conway’s Law focus group
During EuroPLoP 2005 I ran a focus group over two days with with Lise Hvatum on the subject of Conway’s Law. At the time Conway’s Law was semi-forgotten by the software development community. It was not until seven or eight years later was it “rediscoved” by the continuous delivery movement. Since then the paper has proved popular and highly influential, the discussion of the Homomorphic force foreshadows the identification of “reverse Conway’s Law” were organizations copy, and are constrained by, their software architecture. Indeed, while the paper does not explicitly discuss reverse Conway’s the topic was discusses at the time.
- Download: What do we think of Conway’s Law now? (PDF)
Culture – EuroPLoP 2013
Another collaboration with Lise Hvatum, this focus group asked the question “Does Culture play a Role in Software Development?”
Patterns for the Independent consultant
EuroPLoP 2015: A focus group looking for patterns and idioms of independent consultants
- Focus Group write-up report (not included in conference proceedings) (PDF)
Not a pattern
There are Patterns, and there are patterns… or, to put it another way: “When is a Pattern not a pattern?”
I’m not even the best-qualified person to describe this but I’ll give it a go – I’ve said this before so I’ll say it again – just remember these are just my views.
The Patterns community has not copyright, trademark or divine right to the word pattern. When I use the word Pattern I’m discussing ideas on form derived from the works of Christopher Alexander, for example:
Alexander’s ideas are rooted in architecture, my interest come from software. Starting in the early 1990’s a lot of people in the software development community have become interested in how Alexander’s work can be applied to software.
So, when I talk of the “patterns community” I really mean working with ideas of patterns somehow derived from Alexander’s work, and specifically those involved with the Hillside Group, Hillside Europe and the conferences organised by these groups (e.g. PLoP, ChilliPLoP, EuroPLoP and VikingPLoP.)
Getting back to Patterns and patterns… I use the term Patterns – capital ‘P’ – to refer to Alexander derived things. Now, once in a while you come across things the authors call “patterns” and you have to work out whether these are Patterns or just patterns. This simplest test it to look at the references and see if they cite Alexander, if they don’t they probably aren’t Patterns.
Without a reference to Alexander I usually find the authors aren’t aware of the dimensions of context, forces, problem, solutions and consequences. When the author is aware then these things they show. Of course, there are exceptions…
Pattern writers workshops
Writers workshop format
At EuroPLoP 2012 I presented a paper entitled Lessons from EuroPLoP: About Workshop Moderation. This paper give advice to writers workshop moderators and contained a “crib sheet” for workshop format. This paper was reviewed in workshop – like every other paper at EuroPLoP and then updated. The paper can now be downloaded here:
The crib sheet has changed a little over the years and I provide the different versions here as an aid to workshop moderators everywhere:
- Writers Workshop flowchart (2008 “new” version, PDF)
- Writers Workshop flowchart (“old” version, PDF)
- Writers Workshop agenda (“old” version, PDF text)
At EuroPLoP 2005 I was the workshop leader for group B. This mean I had to convene the workshop and make sure all the boring administrative tasks where taken care off. OK, there aren’t actually that many admin tasks to do, the real role is to moderate the pattern discussions.
In some workshops the leader will moderate all the review sessions. This can be tiresome and difficult – particularly if the leader has authored a paper themselves. Instead it is customary to rotate the moderation between workshop members.
EuroPLoP 2005 was the first time I had lead a workshop and I was concerned that I would forget the important steps in moderating a paper. In addition, most of the people in the workshop where new to writers workshops so they too needed a reminder of what to do. So, I created a crib-sheet for the workshop leader/moderator – the “old” version
In 2006 I was again asked to lead a workshop. This time the EuroPLoP committee suggested workshops leaders try different workshop formats. The objective was to get away from routine (i.e. not very useful) comments and improve the feedback to the author. As a result I modified the style of the workshop and created a new crib-sheet for this style.
Since then I have refined the style at EuroPLoP 2007 and 2008. It is well received and I get good feedback about the approach. The main different is I use a “Once around the group” technique to elicit initial comments from everyone. I do this for form and style, content and then closing remarks. On the whole I find it packs more comment into the same time and ensure everyone has a voice.