Invaluable Value
Patterns added an invaluable value to software development in general. Of course, this also holds true for concurrency in particular. The added value boils down to three points. A well-defined terminology, improved documentation, and learning from the best.
The well-defined terminology means that software developers can now use common and unambiguous vocabulary. Misunderstandings or verbose explanations are mainly stories of the past. If a software developer asks for an advice about how a family of similar algorithms can be implemented in such a way that they can be exchanged during runtime the answer may be as short as: use the strategy pattern. If the software developer knows the strategy pattern, he can immediately think about the consequences of using the strategy pattern; if not, he can look it up in the literature.
The documentation improves in two aspects. First, the documentation about the software system, may it be in a graphical or textual description, improves...