veryard projects - innovation for demanding change

patterns

veryard projects > patterns
we offer about patterns pattern languages and catalogs links
consultancy

management briefings

independent advice on tools and methods

A pattern is a judgement, partially abstracted from its context. It may be positive or negative, and may apply across multiple domains.

Purpose. A popular misunderstanding about patterns is that they are merely abstract components – prefabricated chunks of analysis or design that can be instantly assembled into a solution – the engineering equivalent of convenience foods.

 read more >>


Form. Patterns are often described as solutions in context.  But within the software engineering world there has been a strong emphasis on reuse.  In order to reuse something, it has to be taken away from its original context – at least to some extent – and generalized so that it can be plugged into a range of contexts.

read more >>


Process. A pattern language represents a shared repository of knowledge.  This implies a process of disseminating and using this
knowledge.  It also implies a process of maintaining and refreshing the knowledge.

read more >>


Material. Patterns come out of lived experience.

Pattern languages have been created in various domains, starting with Towns, Buildings and Construction, and spreading to software engineering (especially OO).

If you're looking for patterns relating to components in business, start with the CBDi Forum Pattern Catalog.

There are now some emerging patterns and pattern languages for business and organization.  Many of these are published in the form of best practice databases.

For some reason, distributed systems design has lagged behind other parts of software engineering in the identification and use of patterns. On this page, we indicate the pattern sources we've found, and suggest some additional patterns for distribution.

We also hope to create a pattern language for managed change, with particular attention to technology transfer, adoption and/or implementation. This work is in its early stages. 

Please tell us about your favourite patterns or pattern sources

home

notion finder

book list

contact us

Purpose

veryard projects > patterns > purpose

A popular misunderstanding about patterns is that they are merely abstract components – prefabricated chunks of analysis or design that can be instantly assembled into a solution – the engineering equivalent of convenience foods. Anyone who reads Christopher Alexander’s original work on patterns cannot fail to sense an entirely different passion and purpose for patterns – the need for quality in the finished product – a quality that Alexander calls The Quality Without a Name.

On this view, patterns are not intended to make the engineering process faster or more efficient – or even more reliable. The purpose of patterns is to impart character to an artefact.  Pattern languages are intended to help engineers communicate an awareness of the character and quality of design – with one another and with their clients.
 

Form

veryard projects > patterns > form

Patterns are often described as solutions in context.  This description can be traced back to Christopher Alexander, sometimes seen as the father of patterns, who is very keen to emphasize the grounded, context-dependent nature of true patterns.

Within the software engineering world, in contrast, there has been a strong emphasis on reuse.  In order to reuse something, it has to be taken away from its original context – at least to some extent – and generalized so that it can be plugged into a range of contexts.  This means that a pattern has to be partially abstracted from its context.

Good pattern work has always maintained tension between two opposite positions – the immanent and the transcendental – between solutions that are grounded in the specifics of a given situation, and solutions that are timeless and universal.  Alexander expresses this tension by insisting that you can use a pattern a million times over, without ever doing it the same way twice.  In a manner of speaking, this is repetition without repetition.

A pattern has the structure of a judgement  – it involves an appreciation of a situation, leading to an intelligent response or action.  This leads me to define a pattern as a judgement partially abstracted from its context.

The business problems addressed in many patterns are sketched rather than fully defined.  This makes it quicker to read the pattern and recognize whether it might be relevant to the problem facing you.  But it means that the onus remains on you to investigate the problem in detail and work out how to use the pattern in this specific context.
 

Process

veryard projects > patterns > process

A pattern language represents a shared repository of knowledge.  This implies a process of disseminating and using this
knowledge – deploying the pattern language.  It also implies a process of maintaining and refreshing the knowledge –
testing the implicit hypotheses and assumptions, polishing the structures, formulating alternatives and improvements, and
perhaps abandoning certain patterns that have outlived their usefulness.

Publishing patterns, either individually or packaged into languages and catalogs, only makes sense if it fits into a cycle of knowledge generation and critical evaluation and evolution.  There is an obligation on the author and publisher to release updates and revisions. There is also an obligation on the reader and user of the pattern language, to participate in the improvement cycle, by contributing critical comment and experience – and we hope that the Internet will facilitate such participation.
 

Material

veryard projects > patterns > material

Patterns should come out of lived experience.  They communicate something that has worked – and worked repeatedly.

A useful source of business patterns seems to be the management journals. Sloan Management Review and Harvard Business Review publish lots of ideas of business strategy and organizational design that could be expressed as patterns. The best articles show how the same basic idea is applied in different ways to a variety of practical situations, with an evaluation of the various outcomes.

There are some interesting relationships between patterns in different domains - for example between business patterns, and technical distribution patterns. Some of the patterns (such as Federation) are the same in both, albeit with different interpretations and implementations. However, the patterns of managed change often conflict with the principles of distribution. For example, Concentration of Power.

This encourages some pattern authors to create patterns based on metaphor - where something that works in one domain is assumed to work in another domain, without detailed justification.
 
more business patterns (pdf)

implementing a pattern programme

design pitfalls as negative patterns

reuse

more CBDi Forum Pattern Catalog

patterns home page

patterns for business

These are not analysis patterns, these are patterns for designing business structures and processes.
 
on this website internet sources books other sources
Best Practices

Federation

Coordination mechanisms

Unilateral Commitments

Profit Patterns: The Website (Adrian Slywotzky)

Organization Patterns (Jim Coplien)

Evaluating Customer Comments

Schemes Against Businesses

New Rules for the New Economy (Kevin Kelly) - shorter and more business-oriented than his previous book

Profit Patterns: The Book (Adrian Slywotzky)

Sloan Management Review

Harvard Business Review

patterns for distribution

The Gang of Four book explicitly excludes patterns for distributed systems. Here are some we've found.

Most of these patterns concentrate on the computational, engineering and technology viewpoints of RM-ODP.

Some of the patterns for distribution are embedded in particular middleware or TP products. Many of these patterns are specific to particular products. It seems to be difficult to identify technical patterns that are equally valid for DCOM and CORBA, not to mention other middleware as well.
 
on this page internet sources books
Federation

Front Office

Late Binding

Optimistic Locking

Stateless Client

Stateless Server

Zero Latency

The Nine Laws of God (Kevin Kelly) - inspiring, but hard to apply

Implementation solutions for common distributed computing requirements (RM-ODP) - implied pattern instances, including Binder, Channel, Interceptor & Stub

Communication patterns for networked systems (Doug Schmidt) - includes classic patterns for implementing load balancing, event management, and resource management

Telecommunications Distributed Processing Patterns (Bell Labs 1995) - mostly data modelling patterns - but includes System Wide Pressure Gauge

DASCo Project

Pattern-Oriented Software Architecture (Frank Buschmann &friends) - contains several patterns that cover infrastructure implementation, such as a distributed version of proxy, and a broker pattern (corresponding to Object Request Brokers)

CORBA Design Patterns (Tom Mowbray &friends) - includes patterns for distributed computational architectures (computational in the ODP sense) - distribution covered from the application implementer's perspective, for general purpose apps

patterns for managed change

These are patterns of effective intervention.
 
on this page internet sources books
Access to Technical Competence

Concentation of Power

Delegation

Flexibility

Late Binding

Listening to Staff

Supple Role Boundaries

Unconstrained Communication

Unilateral Commitments

My main interest is in business strategy, technology transfer and organizational change.

A great place to start is the short article Places to Intervene in a System (Donella H. Meadows, Whole Earth Review, Winter 97)

Elektra EKD Change Management Methodology


Most intervention patterns found on the internet are intended for individual and family therapy, or for international politics.

Indian Suicide

Intervention Center - Family Intervention for Addiction

Implementing Routine and Radical Innovations (Nord & Tucker)

A New Theory of Urban Design (Christopher Alexander &friends) changing physical environment

wannabe pattern catalogue

Many would-be patterns start as a loosely defined success factor, and lack the definite structure that we normally look for in a pattern. This is certainly true of some of the would-be patterns in this catalog of wannabes, in which patterns are sketched rather than defined, and most of them await proper evaluation.

Note that this is an important stage in the lifecycle of a true pattern.  This catalogue is a critical element of our work in progress. All help welcome.
 

Access to Technical (and Social) Competence

Concentration of Power

Delegation

Federation (business)

Source: T.H. Davenport, R.G. Eccles & L. Prusak, 'Information Politics' Sloan Management Review 34/1, Fall 1992, 53-65

Federation (distributed systems)

Flexibility

Front Office (distributed systems)

Late Binding (Distributed Systems)

Late Binding (Change)

Listening to Staff

Optimistic Locking

Stateless Client

Stateless Server

Supple Role Boundaries

Unconstrained Communication

Unilateral Commitments

Zero Latency


veryard projects - innovation for demanding change

Pattern Books

veryard projects > patterns > books
books

title comment ordering
Christopher Alexander and friends. A Pattern Language: Towns Buildings, Construction

Oxford University Press, 1977

The classic text on patterns. Offers a catalogue of design patterns suitable for towns, buildings and construction. Standard reference for software patterns.
more
buy a copy - uk

buy a copy - us

Martin Fowler. Analysis Patterns: Reusable Object Models

Addison-Wesley Longman 1995

A set of common model fragments.
See also Refactoring
buy a copy - uk

buy a copy - us

Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides. Design Patterns: Elements of Reusable Software.

Addison-Wesley Longman 1995

The essential book on software patterns, by the so-called Gang of Four. buy a copy - uk

buy a copy - us

James Noble & Charles Weir. Small Memory Software

Addison-Wesley 2001

Patterns for systems with limited memory. buy it from Amazon uk

buy it from Amazon.com

Walter R. Nord & Sharon Tucker. Implementing Routine and Radical Innovations

D.C. Heath, Lexington, 1987.

An important book on change management. Nord & Tucker had the opportunity to observe and analyse twelve banks introducing the same innovation at the same time. Some of them are more successful than others. The authors identify four factors common to the successful implementations: 
  • flexibility
  • concentration of power
  • access to technical competence
  • listening to staff.
buy it from Amazon uk

buy it from Amazon.com

Adrian Slywotzky et al
Profit Patterns

US edition: Random House, 1999
UK edition: John Wiley, 1999

buy a copy - uk

buy a copy - us

Terry Winograd et al. Bringing Design to Software.

ACM Press and Addison-Wesley 1996

Not just a collection of essays about software design, but an interwoven and integrated text by several leading software thinkers and practitioners. buy a copy - uk

buy a copy - us
 

acknowledgements

Contributions gratefully received from Ian Graham, Tom Mowbray, Howard Ricketts, Chris Russell, Chris Sluman, John Vlissides, Charles Weir & Lawrence Wilkes.


top

home page

contact us

veryard projects - innovation for demanding change
in asssociation with 
 
This page last updated on August 22nd, 2001
Copyright © 1997-2001 Veryard Projects Ltd
http://www.veryard.com/sebpc/pattcat.htm