I was talking yesterday afternoon with several other lab members about Martin Fowler’s "Patterns of Enterprise Application Architecture." In his book, Fowler admits that most patterns aren’t anything new. "Creating" a software pattern is just naming and describing a software practice already used by some developers. Of course, Fowler presents patterns with amazing clarity and skill, so his contributions are valuable to the development community.
Since our research group is interested in social communities, we were curious about how new software practices evolve into well-known design patterns. Do most patterns start with a bang from a few highly influential, outspoken developers? Is there gradually increased adoption until the pattern reaches a critical mass of people? Another possibility is that as the global software environment changes, many groups of people stumble onto the same pattern at the same time.
What’s your opinion?