Patterns, Patterns, Everywhere…


fibonacci-spiral
Image Source: FineArtBookStore

 

Patterns are everywhere.  We find them in nature, science, technology, business and even relationships.  The above graphic is typically called the Golden Spiral, which is a geometric representation of the Golden Ratio which, in turn, is a representation of the Fibonacci sequence [xn = xn–1 + xn–2].  This mathematical pattern has been found to occur in many instance in nature.  (http://world.mathigon.org/Sequences)

golden-ration-in-nature
Image Source: Tea Break Tog

 

In addition to patterns we find in nature, we create patterns as well.  If we create patterns of behavior, we typically refer to those frequently repeated actions as habits.  But we also find that we use patterns in creating items as well.  Take, for example, the craft of quilting.  Technically, quilting is really about the specific technique used to create the final product. However, over time, the craft has become associated with the different various quilt blocks that make up a single quilt.  Interestingly enough, the history of quilt making shows that, originally, quilts were formed by adding small pieces of fabric or strips to an ever-growing larger piece. As the piece grew larger, this technique proved to be very cumbersome and difficult to work with due to the final size.  Over time, quilters gradually began using the concept of quilt blocks to make the process easier.  In this way, the quilter would create smaller manageable blocks of quilts and then at the end, combine them all into a single larger piece. (http://www.quilting-in-america.com/quilt-blocks.html)

quilt-block-1
Image Source: Pinterest

 

Even in software programming, the concept of reusable objects is very prevalent, having starting gaining momentum back in the 1960’s and 1970’s. By creating reusable sections of code, these “libraries” of code could be shared among different programs, even among different programmers.  The code objects are not complete on their own, but are designed to fulfill a specific function that is repeatable, and by building together multiple objects, a complete program can be designed.

As we start diving deeper into the Implementation portion of the Future Architecture, the concept of Technical Patterns has emerged.  These are “repeatable, ordered sets of technical components and services that support common, repeatable requirements.” (Robertson, 2006)  Many parts of the EA implementation may have been already been created previously, so why invent the wheel again?  By reusing existing technical patterns or by creating new patterns during the implementation phase, much time and effort can be saved later in the process.  This also helps the implementation adhere to any existing EA standards as the existing technical patterns would already be in compliance with those standards. By building smaller, repeatable pieces, the implementation phase time and effort can be reduced.

#ea872 #patterns

Reference:

Robertson, B. (2006) Use Technical Patterns to Speed Architecture Benefits (G00143285). Gartner, September

,

  1. #1 by Jennifer on October 11, 2016 - 11:54 am

    Interesting point about the patterns in EA implementation activities. I think it is a good point to discuss and leverage. However, repeating previously created work for the sake of the pattern is not always the most applicable. Do you have any criteria for how to select when to re-use previously created work?

    • #2 by Bob on October 11, 2016 - 12:53 pm

      None of the articles so far have made it clear as to how to decide which pieces could be re-used versus having to be recreated. I think this article explained it best: “A Framework of Patterns, Services, Domains and Components Defines the Technology Viewpoint” http://www.gartner.com/document/487579

(will not be published)