Patterns: a way to reuse expertise

  • Authors:
  • L. Rising

  • Affiliations:
  • AG Commun. Syst., Phoenix, AZ

  • Venue:
  • IEEE Communications Magazine
  • Year:
  • 1999

Quantified Score

Hi-index 0.25

Visualization

Abstract

There has been a sense in the software engineering community that we are continually reinventing the wheel. This phenomenon can be clearly seen in any large company; where projects go their own way, solving problems that are similar or identical to problems being solved by other projects, sometimes down adjacent corridors in the same building. It is easy to point at a lack of communication and the classic “not invented here” syndrome, but the fact is, there hasn't been an appropriate communication medium for transferring knowledge. The widely applied code libraries did not even begin to tackle this problem. The notion of a pattern is based on the work of building architect Christopher Alexander (1978), who captured solutions to recurring problems. When expertise is captured and shared with others, it also brings improved communication through a well defined vocabulary of pattern names that reflect the successful solutions. There is a significant effort in the software community to apply this idea to problems and solutions in software development. Patterns provide a way to reuse expertise that can be used across domains at all levels of development