次の方法で共有



2015 年 7 月

Volume 30 Number 7

新進気鋭 - 技術について話すのが難しい理由

Ryder Donahue | 2015 年 7 月

ソフトウェアの開発で最も難しいのは、ソフトウェアについて話すことかもしれません。日々、開発者には、深遠な技術情報や広範な論理的概念を明確に伝えることが求められています。それも、多くの場合、話している内容についての詳しい知識のない人が相手です。

人は四六時中そのために苦労していますが、その原因はコミュニケーションが下手なわけでも、アイデアが悪いわけでもありません。コードのような抽象的なものについて語るのが非常に難しいことがその理由です。ソフトウェア エンジニアリングにおいてコミュニケーションがほとんど行われなければ、これほど問題になることはありません。しかし、現実は真逆です。チームを組んで行うソフトウェア開発では、効果的なコミュニケーションが成功の鍵を握ります。

フリーのプログラマでも、顧客の望みを理解し、それを提供するのは、大変な努力が必要です。多数のプログラマが携わる大きなプロジェクトでは、この問題はさらに難しくなります。このようなプロジェクトでは、チームの各メンバーがパズルのピースをそれぞれ受け持ち、すべてのピースがぴたりとはまらなければなりません。

それが疑似コードであっても、だれかにコードを見せるのはアイデアを伝えるすばらしい手段ですが、コードを入手できなかったり、コードが大きすぎて会話中にすぐには相手が理解できない場合があります。その結果、多くの場合、大げさな身振りでお茶を濁し、高尚な説明に頼ることになります。

自分たちの話の中に出てくる専門用語や頭字語を相手がよく知っている、または話題にしたヘルパー関数についての前提知識があると思い込むのも危険です。相手にあやふやな知識しかなければ、完全に思考停止に陥ることはないとしても、理解するまでには時間がかかります。聞き慣れない頭字語を耳にしたとたん、文脈の理解に苦しみ、その後の会話の大半に付いていくことができません。

さらに考えると、プログラミングについての会話を成功させるには、会話を始める時点で、双方が同じような青写真を頭の中に持っていることが必要です。この青写真になるのは、作成中のコードのコンテキストや、さらには、プロジェクト全体のアーキテクチャなどが考えられます。こうした情報は、通常、必要に迫られて説明されますが、よくわかるように説明されるとは限りません。UML 図は通常あまりに不便で、とにかくオブジェクトやデータ構造のすべてを詳しく見直す時間がとれないのはいつものことです。その結果、多くの場合、チームは情報に基づく意思決定を実現できるだけの情報を得ることができません。それでも、私たちはみな、同じことを続けています。

コミュニケーションは非常に難しい課題で、私が個人的に苦労している課題です。しかし、それを認識できれば、対処のしようがある弱点です。開発者として留意しなければならないことは、自分が思うほど相手はこちらの考えを理解できていない可能性があることです。逆の立場で言えば、次の話題に移る前に、自分が相手の考え方を理解するのに苦労していることを、話し手に知らせるぐらいの気持ちが必要です。

このように考えてくると、数千人のエンジニアが長い時間をかけて開発してきた Windows のような製品が動くことだけでも、ソフトウェア エンジニアリングの偉業であることがわかります。

技術について話すことは、必ずしも難しくないのかもしれません。ソフトウェア開発という比較的新しい分野が成熟するに従い、もっと効果的なコミュニケーション手法が考案されるかもしれません。おそらく、答えは、より優れたコラボレーション ツールや、ターゲットを絞り込み、進化したプログラミング言語など、技術自体の中にあります。将来のプログラミング言語が、今よりも明瞭で直感的な構文で設計され、古い時代の言語から引き継いだやっかいなお荷物を捨て去ることができれば、もっと短時間で読むことができ、もっと簡単に意味を理解できるコードを作成できるようになるかもしれません。ひょっとすると、答えの一部は、もっと新しく優れたプログラミング パラダイムの中にあるのかもしれません。現在のオブジェクト指向プログラミングで実現できるよりも、さらに優れた類推による説明を可能にするパラダイムが登場するかもしれません。

1 つ明らかなのは、このようなソリューションを作成し、受け入れた人は、現在のソフトウェア エンジニアリングに特徴的な頭字語やお茶を濁す行為の嵐の中をさまよい続ける人よりも格段に高い競争力を身に付けられるということです。


Ryder Donahue はマイクロソフトのソフトウェア開発エンジニアです。出身はハワイ諸島で、現在はワシントン州レドモンドで婚約者と猫の Marbles と一緒に暮らしています。