The Pattern of Patterns

When it is time to start a new project, or a major new feature of an existing project, there are typically many technical decisions that need to be made. How you approach these decisions, and how you evaluate the patterns you choose for crafting a solution, forms a pattern in and of itself. We call this the "Pattern of Patterns", and the patterns that you will find in the Tea Garden will, for the most part, follow this pattern. In a sense, this pattern forms the foundation upon which we hope to build the Tea Garden's Pattern Language.

So what is the "Pattern of Patterns"? We have found that approaching a new way of doing things (a new "Pattern", if you will) generally proceeds through 4 phases:

  1. High-Level Evaluation
  2. Narrowing of Candidate Approaches
  3. Adoption
  4. Dealing with the Consequences

Within the Tea Garden project, we explore an array of patterns, presenting each with a concise overview, a comparison of possible approaches with a focus on Gaiwan's choice, and a discussion on common challenges with solutions. This structured exploration aims to equip users with the necessary insights to effectively implement these patterns, and hopefully elevate their software development practices.