5 Unified Pattern Language

An enterprise pattern language can offer your project team an accelerated starting point for adopting their own Pattern Palette.

Collection

[See also the PED Implementation of this pattern.]

Based on our experience with “the Company,”[1] we have seen communication among diverse teams harmonized by: publishing “pattern collections,” socializing a pattern language, and encouraging teams to mature their own Pattern Palette.

“The Company” has supported a Java Center of Excellence (JCOE) since 2002, when it adopted the Java platform for enterprise applications. The JCOE’s official charter included application consulting and framework development. Over time, it has become a nexus for the germination, maturation and dissemination of an enterprise Unified Pattern Language.

The original motivation for pattern language focus was to bring efficiency to technical communication between team members on opposite sides of the planet as a result of distributed (low-cost) sourcing. Thanks to our more recent engagement with the PLoP[2] community we now understand we simply rediscovered the value of a pattern language; what others, such as Ralph Johnson, Ward Cunningham, Richard Gabriel and Kent Beck, put forth beginning in 1994.

The term “Unified” was added in 2014 primarily to acknowledge the inclusion of JavaScript (ECMAScript) as a first-class programming platform along with Java. At the time of this writing the term “Unified Pattern Language” signifies:

  • Multiple pattern collections
  • Synergy across the collections (supporting full-stack development)
  • Adoptable outside the Enterprise

Socialization and refinement of the Unified Pattern Language is ongoing, spread through collaboration with and between project teams learning from real-world experience.

References

[1] In 2002, Java was adopted as the standard platform for in-house development at a successful large automotive manufacturing enterprise (“the Company”).

[2] The centerpiece of the PLoP community is their face-to-face conferences (http://www.hillside.net/conferences). In addition, there is a LinkedIn group entitled “Pattern Languages of Programs.”