ソフトウェア設計において記法やパターンを学ぶ理由

一般的にソフトウェア設計における記法やパターンを学ぶ理由は設計技術の習得だと思います。
もちろんその通りなのですが、それだけではない重要な理由があると思っています。
それはソフトウェア技術者同士の設計に関するコミュニケーションのためです。
ソフトウェア技術者同士が設計に関して議論する際に自分のアイデアをどのように表現すればよいでしょうか?
もっとも具体的な説明としてはソースコードで表現して示すことが一番でしょう。
私の経験から考えると、むしろソースコードで表現しなければうまく伝わらないことがほとんどだと感じています。
しかしもっとマクロな視点であったり、アーキテクチャーの視点で話をする際にも具体的なプログラミング言語を使用して表現する必要があるでしょうか?
また、使い古されたパターンを表現するのにソースコードを入力、あるいはコピーするために昔誰かが書いたソースファイルを探したりする必要があるでしょうか?
このようなときにソフトウェア技術者同士に共通の言語や常套句(パターン)があればコミュニケーションがスムーズになるはずです。
音楽の世界では楽器が無くても楽譜や音楽理論で音楽的なアイデアを表現し、コミュニケーションをとることができます。
例えばジャズの世界では即興伝送する際にも楽譜で示したり「Fメジャーのボサノバ」「ツー・ファイブ」「逆循環」等とパターンを示すだけで大枠の音楽的なアイデアやフォーマットを伝えることができます。
ソフトウェア開発の場面でもソフトウェア技術者のリテラシーとしてこのような記法やパターンの取得が必要だと考えています。
現在の状況で考えればそこで使用される記法としてはUMLであり、設計のアイデアを示すパターンとしてはGoFデザインパターンリファクタリングなどの知識になると思います。
ただ、これらを使用したコミュニケーションが成り立つためには広く一般的な共通理解が必要だと思います。
とりあえずはUMLデザインパターンが自分の設計に使えなくてもその内容が理解できれば、設計における議論を通じて理解が進むことによって本当に使える技術になるのだと思います。
残念ながら今までの私の経験では周りにはこのようなレベルでソフトウェア設計の議論ができる人はほとんど居ませんでした。
私としてはもっと一般的に普及してソフトウェアの設計に関する議論が活発になればと願っています。*1

*1:決してプログラミングを軽視しているのではありません。あくまでも設計に関するコミュニケーションと議論の活性化の望んでいるのです。