I have heard it said many times that patterns have to be discovered. Years ago, after reading Christopher Alexander's "Timeless Way of Building" I felt that this wasn't really true - since patterns are not really just "solutions to recurring problems in a context" but rather an exposition of the forces present in the context including the relationships between these forces.
I have let this go in the patterns community because it hasn't been on the top of my priorities. But I've been recently reading Amr Elssamasdisy's Patterns of Agile Practice Adoption (which I think is quite good, BTW). However, he says:
Patterns are to be trusted because each one has been used several times on real development teams and projects - they are not one-off solutions or "good ideas" that might or might not work. Patterns are "discovered" and not "created."
I think this is more of the general idea we always have to work with values and practices that I see so much in the Agile world - where it seems principles are often left out.
Anyway, feeling this attitude was not what Alexander meant anyway (and in my experience, limiting) and wondering where it came from, I figured I'd go back to the source of patterns for much of the software community - Chris Alexander's Timeless Way of Building. There I found this:
"For of course, the discovery of patterns is not always historical. Some of the examples I havfe given might make it seem as though the only way to find patterns is to get them from observation. This would imply that it was impossible to find patterns which do not already exist in the world already: and would therefore imply a claustrophobic conservatism; since no patterns which do not already exist could ever be discovered. The real situation is quite different. A pattern is a discovery in the sense that it is a discovery of a relationship between context, forces, and relationships in space, which holds absolutely. This discovery can be made on a purely theoretical level."
Alexander is talking about discovering relationshihps which are principles, essentially. I think somehow we need to disabuse ourselves of the notion that pattens are only discovered. Patterns are also about the forces and/or principles present.
I find it odd that in our industry we have no real way to "set the record straight" when we get off track.
Alan Shalloway
CEO, Net Objectives
Achieving Enterprise and Team Agility
Technorati Tags:
tag with del.icio.us