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

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

コミュニケーションからソフトウェア品質を予測しようとする研究

»

12/10(金)にエンピリカルソフトウェア工学研究会に参加した。

研究報告は大まかに2点あり、1つは(ここに予告を書いたが)Thomas Zimmermann氏の講演、もう1つは東芝ソリューションと我々の研究グループとの共同検討の結果の報告だ。私は前者には逐次通訳として、後者には検討メンバとして参加した(後者の中心はご発表の吉田氏と松村氏)。

Thomas Zimmermann氏の講演資料はここ(slideshare.net)で公開されている。タイトルは「Empirical Software Engineering and Measurement at Microsoft」ここではSocio-technical congruence, Bug reporting and triage, Data-driven software engineeringの3つのトピックが紹介された。Socio-technical congruenceの中に、組織メトリクスによるソフトウェアの品質予測方法が紹介されていた。氏によると、プロダクトメトリクスをはじめ他のメトリクスよりも組織メトリクスによる品質予測のほうが予測精度が高くなるそうだ。

組織メトリクス計測は、バイナリ(DLLやEXE)のもとになるソースコードをどのくらいの人(開発者)が編集しているのかを集計する(構成管理ツールから)。最も多く編集している開発者から順番に、大多数の編集をしている開発者が列挙されるまで(仮に75%としている)、集計を繰り返す。75%の開発者の距離を、2種類の方法で計測している。

  • 組織メトリクス
    上司を共有している開発者間で75%を編集している、同じ部門のとなりの上司を共有している開発者の間で75%を編集している、・・・・、非常に大きな部門や社長であるスティーブバルマー氏の部下の間で75%を編集している。
  • 距離メトリクス
    同じ建物の中にいる開発者間で75%を編集している、建物は別だが昼食をとる場所を共有する建物にいる開発者間で75%を編集している、地域が同じ、大陸が同じ・・

実際にWindowsの開発データで検証したところ、組織的な距離、勤務地の距離ともに離れるとバイナリの品質が低下する結果が得られたそうだ。

これら2つのメトリクスはコミュニケーションのメトリクスと呼ぶことができるだろう。ソフトウェア開発にはコミュニケーションが欠かせないが、そのあたりを定量化しようとする研究も現れ始めているといえそうだ。

もう1件は「お客様との「強い」Relationshipの確立・継続に向けて」だ。この共同研究テーマでは、受託開発の開発中の議事録の発言の分類と品質の関係を明らかにしようとしている。議事録上での委託者の発言と機能、サブシステムの品質の関係が紹介されている。

こちらも委託者の発言と受託者の発言というコミュニケーションの履歴と品質の関係を明らかにしようとしている。

開発規模が大きくなると避けて通れないコミュニケーション、ご自身の組織で計測したり、品質との関係は、どのような方法やメトリクスで予測できそうだろうか。

Comment(0)