「要求のブレを経験した人は78%、特定の技法がブレを小さくするという研究結果」と聞いてもやみくもに技法を勉強してはいけない

本エントリは、「要求のブレを経験した人は78%、特定の技法がブレを小さくするという研究結果」で公開したものを一部改変している。

Journal of Software Maintenance and Evolutionに掲載のReducing the risk of requirements volatility: findings from an empirical surveyで、300名のソフトウェア開発の実務者にアンケートを実施した調査結果を報告している。CMMIとPMIのソフトウェア開発を対象にしている人へアンケートの回答を呼びかけて回収したものだそうだ。

調査項目は多岐にわたる。詳細は論文を参照いただくとして、私が気になった部分は以下のとおり。

  • 要求の規模が増えた経験をもつアンケート回答者は78%
  • 要求がブレるのを防ぐ技法は「既存の要件定義書を再利用する」「業務の対象など、要件定義書を書く技術者が実際の活動を観察する(エスノグラフィー)」「プロトタイピング」だった。(統計的有意さがあるもののみ)
  • アンケート、ヒアリング(インタビュー)では要求のブレを低減できない。(統計的有意さによる判断)
  • CMMIのプロセス成熟度レベルが大きくなれば、アンケートで回答された要求のブレの大きさが減る。ただし、レベル3と4の間には大きな差はない結果

これは、ユーザ本人に聞くのではなく、過去の蓄積やプロトタイピング等、具体的な形をとったり、ユーザと同じ環境に身をおく、ということのほうが、要求のブレを減らすことにつながっている、と解釈できないだろうか。

もう少し注意深く考えると、やみくもにプロトタイピングの方法やエスのグラフィーのやり方を学習するというのではなく、単純にユーザに聞くだけではなく、適切なユーザに聞く必要があることを意味していると考えられないだろうか?

また、一般にアンケートの結果は多数派に目が向くが、多数派のやり方を取り込んだからといって、ご自身の組織やプロジェクトの要求のブレが減るとは限らない。ご自身のプロジェクト等で、要求がブレないようにするためには、何をするのが最善だろうか?