Recognizing a pattern when you come across one is seminal to the creation of new patterns and pattern languages. Looking for patterns to document is often referred to as PatternMining. But how do you know when you've stumbled across a pattern?
Deciding whether a problem should be written as a pattern is also difficult to assess. Jim Coplien suggests the following checklist to determine whether something is well-suited to pattern form:
- It must be a solution to a problem in a context
- You must be able to tell the problem solver what to do, how to solve the problem
- It must be a mature, proven solution (RuleOfThree)
- It must contribute to human comfort or quality of life
- It must be something you didn't invent yourself (BuschmannsLaw)
- The solution should build on the insight of the problem solver, and can be implemented a million times without ever being the same twice
- It cannot be formalized or automated (if it can be formalized or automated, then do that instead of writing it as a pattern)
- It should have a dense set of interacting forces that are independent of the forces in other patterns
Writing a pattern should probably be hard; if it's too easy to write, it may not be a pattern, or you haven't thought hard enough about the forces. See more at http://c2.com/cgi/wiki?WhenToUsePatternForm
Finally, once you've wrtten a pattern how do you know whether it's any "good"? Validation of a pattern becomes more complex because methodologies have not been agreed upon. However, part of the collaborative nature of pattern writing involves the constant improvement of patterns through the feedback/critique of practionners or experts in the field. Pattern workshops are aften used to refine first-draft patterns and critique the validity of completed patterns. Shepherding is also a technique used to improve upon existing patterns and pattern languages through a collective effort.
For more tips on identifying, generating and evaluating e-learning design patterns see the e-LEN patterns design booklet.
Also, check out the pattern submission evaluation form from Liberating Voices! A Pattern Language for Living Communication.
And...visit the PatternWritingReferences on this wiki.
Comments (0)
You don't have permission to comment on this page.