Writing Enterprise Architectre Pattern Languages
Taught by one of the founders of the Software Pattern Discipline
Spread a legacy of great architecture knowledge throughout your enterprise — or your industry
Most methodologies and architecture practices are driven not by grounded experience but by hope in the hype from the spokespersons of our era. Patterns represent a strong return to empiricism: they are discovered in working solutions rather than being invented or hoped for. This provides the disciplines of our field with a simple, accessible and informal language the practitioners can understand and actively use to describe their knowledge and experience. Pattern languages are a proven way to capture best practices and expert knowledge and to socialize it inside a group, department, entire company, or entire design discipline.
While we can rely on some patterns repositories for the solution architecture, the use of patterns on the enterprise scope is scarce. Before we can communicate knowledge through our own patterns and contribute to our disciplines' bodies of knowledge, we have to learn the basics.
This seminar teaches attendees how to write patterns by a two-day immersion in the software pattern culture. Each attendee will be asked to write an enterprise architecture pattern. As a practitioner acting within the boundaries of your profession and the role you have in your company, you will learn how to identify and articulate successful practices. Patterns should be part of every architect’s toolbox, and one must learn how to use that tool properly to make the most out of it.
The seminar has been developed by Jim Coplien (assisted by us and with suggestions of several leading architects). Jim is one of the co-founders of the software patterns discipline and we are proud to announce that Jim will also be teaching the seminar.
Why Patterns?
The importance of experience and proven practices is becoming more important as service orientation enters the mainstream. Solutions for business problems can no longer be provided through monolithic ‘grand designs’ and modeling cycles. Solutions to modern complex problems must emerge, based on proven concepts, using concurrent engineering. Patterns provide us with a proven means to articulate proven concepts - the knowledge about the solutions which we know work.
Patterns are not esoteric, reserved for a happy few who have a deep understanding of this world. On the contrary, patterns are down to earth, valuing professional work and experience. A pattern is something we have identified in the real world that works; in this seminar, you will learn how to use the pattern form to effectively capture and communicate empirical knowledge.
Finding an empirically grounded truth isn't enough; the power of knowledge comes in sharing knowledge in community. Just as the Open Source community has demonstrated successes in the realm of programming, the same principles can be used to share other ideas, approaches and architectures. The ‘connected world’ we are living in helps us in that; the experience gained in any part of the world can be easily shared providing we have shared languages in our disciplines.
Participants / Prerequisites
You will get the most from this seminar if you have had experience as a system architect. Since patterns are about "real stuff," hands-on development experience is a plus. Experience with professional writing is also a plus. No other prior knowledge is necessary.
All students should come to the seminar with an idea of an enterprise architecture pattern they want to write, but we ask that the attendee not start actually writing the pattern until during the seminar.
Course Objectives
On completion of this course, students will be able to:
Write effective Alexandrian patterns;
Master the use of the "pattern form";
Recognize and correct weaknesses in draft enterprise architecture patterns;
Combine patterns into a pattern language that addresses system problems;
Understand and appreciate the value system of the world pattern community
Facilitate Writers' Workshops for the review and refinement of patterns and other documents
Syllabus
This is a high-energy, hands-on workshop where participants will work and learn together. The course takes two days and is limited to 20 students.
Day 1
What is a pattern?
The Designer view
The Engineering view
The Sociologist's view
The Theoretician's view
What is a good pattern?
Patterns and quality
The link from patterns to architecture
Empirical grounding
Literary qualities: The Reader's "Aha!"
Pattern Forms
Patlets
Indian Hill Form
Alexandrian Form
Sequences and Pattern Languages
The notion of language and the sequences that generate it
Generative patterns and generative grammars
Using a pattern language
Pattern Mining
Writing Patterns (this afternoon)
Day 2
Writers’ Workshops for each author
Welcoming the Author
Fly on the Wall
Pattern Summary
Pattern Strengths
Suggestions for Improvement
Welcome back the author
Questions of Clarification
Sandwich Comment
Thank the Author
The Pattern Community
The Hillside Group
Pattern Conferences
Sub-communities
Pattern Ethics
Buschmann's Rule
Citation
Intellectual Property
Shaw's Paradox
The Gate
Mini-Seminar
This workshop will be followed by a free, ½ day mini-seminar on the use of patterns in the Enterprise Architecture. The mini-seminar will focus on first steps in establishing the Enterprise Architecture Patterns community. Your presence in this event will be highly appreciated.
Advance Reading
Software Patterns (PDF download — 66 pages)
A Pattern Language for Writers' Workshops (skim online or download -— HTML)
This seminar is based on ideas behind the first pattern book,Pattern Languages of Program Design.