Patterns are not always discovered

June 28, 2009 — Posted by Al Shalloway

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 have 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 relationships 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

 

Subscribe to our blog Net Objectives Thoughts Blog

Share this:

About the author | Al Shalloway

Al Shalloway is the founder and CEO of Net Objectives. With 45 years of experience, Al is an industry thought leader in Lean, Kanban, product portfolio management, Scrum and agile design. He helps companies transition to Lean and Agile methods enterprise-wide as well teaches courses in these areas.



        

Blog Authors

Al Shalloway
Business, Operations, Process, Sales, Agile Design and Patterns, Personal Development, Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Cory Foy
Change Management, Innovation Games, Team Agility, Transitioning to Agile
Guy Beaver
Business and Strategy Development, Executive Management, Management, Operations, DevOps, Planning/Estimation, Change Management, Lean Implementation, Transitioning to Agile, Lean-Agile, Lean, SAFe, Kanban, Scrum
Israel Gat
Business and Strategy Development, DevOps, Lean Implementation, Agile, Lean, Kanban, Scrum
Jim Trott
Business and Strategy Development, Analysis and Design Methods, Change Management, Knowledge Management, Lean Implementation, Team Agility, Transitioning to Agile, Workflow, Technical Writing, Certifications, Coaching, Mentoring, Online Training, Professional Development, Agile, Lean-Agile, SAFe, Kanban
Ken Pugh
Agile Design and Patterns, Software Design, Design Patterns, C++, C#, Java, Technical Writing, TDD, ATDD, Certifications, Coaching, Mentoring, Professional Development, Agile, Lean-Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Marc Danziger
Business and Strategy Development, Change Management, Team Agility, Online Communities, Promotional Initiatives, Sales and Marketing Collateral
Max Guernsey
Analysis and Design Methods, Planning/Estimation, Database Agility, Design Patterns, TDD, TDD Databases, ATDD, Lean-Agile, Scrum
Scott Bain
Analysis and Design Methods, Agile Design and Patterns, Software Design, Design Patterns, Technical Writing, TDD, Coaching, Mentoring, Online Training, Professional Development, Agile
Steve Thomas
Business and Strategy Development, Change Management, Lean Implementation, Team Agility, Transitioning to Agile
Tom Grant
Business and Strategy Development, Executive Management, Management, DevOps, Analyst, Analysis and Design Methods, Planning/Estimation, Innovation Games, Lean Implementation, Agile, Lean-Agile, Lean, Kanban