BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ソフトウェア開発における認知バイアスに対処する

ソフトウェア開発における認知バイアスに対処する

原文(投稿日:2021/11/18)へのリンク

認知バイアス(cognitive bias)は、思考を速くする上で有効だ。しかしその結論は、我々が思うほど合理的ではない。バイアスを認識し克服することにより、問題を防止し、ソフトウェアチームのパフォーマンスを向上することができる。

プリンシパル品質管理エンジニアのJoão Proença氏と品質管理エンジニアのMichael Kutz氏は、Agile Testing Days 2021で、ソフトウエア開発における認知バイアスの影響について講演した。

集団思考(groupthink)とは、結果に関わらず、グループの他のメンバに同調する傾向である、とKutz氏は説明する。そうすることでグループは軋轢を避けて調和を保つのだが、結果として最適ではない、場合によっては破滅的な判断に達することがあるのだ。個人の懸念は取り上げられず、グループ全体が外部の批判に耳を貸さなくなる。

私たちは以前、多数のチームを対象とした新たなテスト戦略を立案しようとしたことがあります。この問題をそのようなレベルで考えているのが私たちだけであるのは明らかだったので、無知ないし無能であるとして外部の意見を無視するのは簡単なことでした。自分たちだけがより大きな善を考えていると感じていて、自分たちのモラルに疑いの余地はないと思っていたのです。当初は熱く、実りのない議論を数多く繰り返していましたが、ある時点で行き止まりました。それを私たちは、自分たちのアイデアが熟したのだと思いました。最終的に、誰も私たちのアイデアに反対しませんでしたが、それでも戦略は失敗したのです。

後で考えれば、その戦略は実はよくなかったのだ、とKutz氏は説明する。

グループのアイデアをすべて混ぜ合わせようとして、うまくいかない妥協点に達していたのです。

認知バイアスに関して、ソフトウェア産業には多くの誤解が存在する、とProença氏は言う。例として氏は、親和性(affinity)バイアスと多様性を挙げた。

ハイテク産業では、リーダが"多様性の推進は正しいことであり、実践したいのだが、最終的にはビジネスを運営しなくてはならない"、と言っているのをよく見ますが、これは問題の見方が完全に間違っている、と私は思います。多様性は単に正しいだけではなく、多様性のあるチームにはハイパフォーマンスになるチャンスが多いという意味において、ビジネスにおいても有効なのです。

João ProençaMichael Kutz両氏に、ソフトウェア開発におけるバイアスへの対処について話を聞いた。

InfoQ: 認知バイアスとは何なのでしょう?

Michael Kutz: 認知バイアスは、人の思考における体系的傾向です。短時間で考える場合に最も起こりやすく、意識的に十分な考慮をして判断を下す場合には少なくなります。おそらくは進化の過程において、このようなショートカットが生まれたことが、狩猟/採集民族のグループ形成を成功させる力になったのでしょう。ショートカットが有効な場合は現在でもありますが、極めて不適切な判断や大きな社会的問題を引き起こすことの方が多いのです。

Joo Proença: 私たち人間が(Daniel Kahneman氏の言う)"2つの思考システム"を持つように進化したその他の理由は、おそらくは速度(ファースト思考とスロー思考)と認知プロセスにおけるエネルギ消費にあるのでしょう。

InfoQ: バイアスはどのようなものなのか、プロフェッショナルとしての私たちの生活にどのような影響を与えるのか、例を挙げて頂けますか?

Proença: 自分たちに似た外見、信念、背景を持った人々に引き寄せられる傾向を、親和性バイアスと呼びます。その結果として、自分たちと違う人々を(無意識のうちに)避ける、あるいは嫌うこともあります。組織内において、多様性のまったくないチームが時に見られるのは、一般的にこのような理由からなのです。親和性バイアスは、チームのパフォーマンス面や、不平等性の面においても、いくつかの意味を持っています。

同じように興味深いのが、合接の誤謬(Conjunction Fallacy)、アンカリング効果(Anchoring Effect)、可用性バイアス(Availability Bias)といった"統計バイアス(statistics bias)"です。これらはすべて、私たちは、現実的かつ客観的なデータに基づかない限り、確率や大きさ、あるいは時間といったものを推測することが本当に苦手なのだ、ということを教えてくれます。

Kutz: もうひとつの例は現在バイアス(present bias)です。長期的かつ大きな報酬よりも短期的で小さな報酬を選ぶ、というものです。"先送り(procrastination)"という言葉をご存知でしょう。この行為は現在バイアスの直接的な結果なのです。

例えば、認知バイアスに関する500ページの書籍を読んでいる時に、不思議とテスト環境を2時間かけて掃除したくなる、というようなこともありました。

InfoQ: バイアスはソフトウェア産業にどのような影響があるのでしょう、それにはどう対処すればよいのでしょうか?

Kutz: そうですね、これまでに挙げたような影響は、当然ソフトウェア産業においても強く影響します。特にグループ思考は、プロダクト計画など開発前のプロセスに影響します。計画グループが外部の反対意見を無視し始めると、誤った仮定が蔓延して、それがプロダクトの基本になります。

開発中は、自分たちが構築した不適切なフレームワークに固執するという、IKEA効果に悩まされます。

最終的には、市場からの否定的なフィードバックを無視するという、確証バイアス(confirmation bias)の餌食になるかも知れません。

業界全体としては、バイアスを十分に認識しているとは言えませんが、その影響を軽減できるような優れたプラクティスはいくつかあります。例えばプランニングポーカーは — 正しく行えば — 見積過程でのアンカー効果(Anchor effect)を最小限にすることができます。1-2-4-all リベレイティングストラクチャ(liberating structure)は、グループ思考の危険に対処する方法です。最初は各個人が自身の思考を行い、次に自分の洞察をグループ内の他のひとりと共有します。次にそのふたりが、別のペアと洞察を統合します。その後で初めて、グループ全体として考えを共有するのです。個人的な懸念が暗黙の了解に隠されることはありません。

InfoQ: バイアスを認識して克服する上で、何かアドバイスはありますか?

Proença: 認知バイアスに関わる業界内のたくさんの誤解を解かなければならない、と思います。親和性バイアスに関する企業内の誤解のひとつは、(性別、人種などの)割り当てを設定することが一般的な対処方法である、という考え方です。この方法は極めて問題が多く、必ずしも求められているものではありません。その他にも、チームやリーダシップのポジションに人を雇用する方法に関して言えば、例えば過小評価されているグループを対象として職種募集の広告をする、求職者を評価するための明確かつ客観的な基準を事前に設ける、など、実行可能で効果的なことはたくさんあります。

Kutz: バイアスとその影響について知ることには、大きなメリットがあります。いずれにせよ、バイアスは存在します。そして、すべての人たちに影響しているのです。それに名前を与えて、何であるかを具体的に知ることで、その影響を軽減できる可能性が生まれます。

バイアスを克服することはできません。私たちの判断のすべてをAIにでも託さない限り(その場合でも、誰がトレーニングデータを選択するのかという問題は残ります)、軽減することが取り得る最善の策なのです。

一連のバイアスについて理解することで、私自身は、問題のある意思決定プロセスを認識し、どのテクニックが有効で、どれがプロセスをより複雑にするのかを理解できるようになりました。

例えば、リベレイティングストラクチャです。いくつか試してみて、よい感触を得ることができました。ただし、実行するのはかなり大変なので、あまり推奨はしていません。グループ思考やバンドワゴン、その他のバイアスについても分かりました。これらバイアスへの対処の必要性を早期に認識し、プロセスを肥大化させるのではなく、より意図的に適用することが大切だと思います。

Proença: 私たちがAgile Tour Vilnius 2021のワークショップで行ったのは、認知バイアスについてただ"語る"のではなく、バイアスを直接体験してもらう試みです。これによって、それぞれのバイアスをもっと深く理解すると同時に、私たちの多くが"バイアスに苛まれている"ことや、それが恥ずべきことではなく、個人的に管理すべきものであることを、より明確にすることができます。Michaelが言うように、私は、自分の目前で起きているバイアスに気付くという"経験"を積むことができたと思っています。バイアスを克服するためには、それが最も難しい部分なのです!

この記事に星をつける

おすすめ度
スタイル

BT