オルタナティブ・ブログ > 森崎修司の「どうやってはかるの?」 >

計測できそうでできない多くのこと。エンピリカル(実証的)アプローチで。

「ソフトウェア開発の技法やプラクティスが有効にはたらく前提は明らかになっていますか?」でお話したこと

»

開発技法、プロセス、プラクティスが期待通りの効果を出す場合には、何らかの前提があることがほとんどだ。

その前提と技法、プロセス、プラクティスをセットにして考えると、さらなる改善や横展開につながると考えている。私の専門分野の1つであるエンピリカルソフトウェア工学では、前提をコンテキストと呼び、その記述とともに結果や結論を述べるよう推奨されている。

コンテキストは、ある結論(たとえばある技法が非常によい効果をもたらした)に対して、その原因、前提を考えることにより明らかになる。「組込みだから」「社内システムだから」「40代男性だから」等、思いつくままに定義すると的外れになることが多い。

具体的なコンテキストを抽出するシステマチックな方法は存在しないが、たとえば、他プロジェクトへの展開や次に活かそうとしたときに、前提がそろっているかどうかを考えると、いくつかが浮かんでくるだろう。

私はコンテキストの話にこだわっている。研究テーマ以外の講演は基本的には断ることにしているが、コンテキスト自体は私のテーマではないが、機会がいただければ、積極的に広めたいと思っている。

理由はカリスマと呼ばれるようなエンジニア、あるいは、発言力が強かったり、影響力の強い人物が「Aが最高だ。これからはAだ」というと、みんなAに傾倒してしまう傾向が強く、前提をそろえずに真似をしてしまい失敗していることがあまりに多いと思うからだ。(Aは技法でもプラクティスでもプログラミング言語でも思想でも何でもよい)

これを非常にもったいないと考えており、「共通点が多いからマネしてみよう」とか「~の条件が揃ったらウチでもやってみよう」というような具体的な話になったり、カリスマでない人、影響力が小さい人であっても、前提と非常によい効果を発見できれば、様々な人と成功を共有できたり、業界に貢献できるからだ。

本来であれば、そのカリスマや影響力の強い人が置かれた立場を整理し、なぜAを推薦しているのかを考えた上で、その立場や前提が自分にもあてはまるかどうかを考えるべきだと思う。ファンになることはいいことだし、特定の人の話を好んで聞くことは決して悪いことではないと思うのだが。

コンテキストの話は、JaSST 2011 Kansaiの冒頭のセッション、勉強会等でお話させていただいていた。XP祭り関西2011のセッションで比較的まとまった時間のセッションに招待いただき、話をする機会をいただいた。

当日多くの方にご参加いただいた。土曜日の開催ということもあり、非常に志の高い方ばかりで「コンテキストを実際に抽出してみましょう」という時間を設けたのだが、非常に活発に意見が出た。

当日のスライドは以下。内容は公開用に一部を削除している。吹き出し等が関西弁なのは関西での講演のためであり、他に意図はない。

当日のセッションの様子をうつした動画が以下

XP祭り関西2011の実行委員の方々に、このような場をいただいたことを感謝したい。

本ブログでも、コンテキストのエントリを何度か書いているので参考にしていただければと思う。

また、カンファレンスで具体的なプロジェクトの話を伺った後、Publickey新野氏とそのプロジェクトのコンテキストについて話をしたことがあり、その一部を記事(「ウォータフォールだって成功する。ただしそれには前提条件があるはず」)にしていただいている。

ご自身のプロジェクトや組織でうまくいっているプラクティスは何だろうか?それを違うところで試そうとするときの前提(コンテキスト)は何だろうか?

Comment(0)