Shin x Blog

PHPをメインにWebシステムを開発してます。Webシステム開発チームの技術サポートも行っています。

対案(フィードバック)を材料に合案を探る

チーム開発の現場では、設計レビューやコードレビュー、ミーティングでのディスカッションなど、自分の提示した案や成果物にフィードバックを受ける場面が多くあります。こうしたフィードバックは、考慮漏れに気付いたり、案をより良くしていくための貴重な機会です。

一方で、フィードバックを受けた瞬間に防御的な反応が出てしまい、元の案に固執してしまうことがあります。逆に「相手が言うなら」と深く考えずに対案を採用してしまうこともあります。はじめは良かれと思って提示した案だったのに、議論が白熱するうちに、いつの間にか「案をいかに通すか」に夢中になってしまった、という経験がある方も多いのではないでしょうか。

本エントリでは、こうした対案の受け取り方、そして出し方について見ておきます。

前提

ここでは、元の案を「元案」、それに対して出された案を「対案」と呼びます。対案は複数あり得ますが、ここでの議論の本質には影響しないので、まとめて対案とします。さらに、元案と対案を吟味した上でたどり着くより良い案を「合案」と呼びます。止揚(正・反・合)の「合」から取りました。

対案に身構えてしまう

冒頭でも触れましたが、対案やフィードバックを受けた時に防御的な反応が出るのは、多かれ少なかれ誰しも経験があると思います。感情としては自然なものですが、その反応のまま対案を無条件に拒絶したり、逆に「この人が言ったから」という理由で採用したりするのは、あまり良い判断につながりません。

私自身、こうした反応を取ったことは何度もあります。後で冷静になってみると対案の方が良かったと考え直したり、対案で指摘された箇所に気付いて元案を自分で修正したりすることもありました。

個人的には、防御的な反応が出るのは、対案を「否定」として受け取ってしまうからだと考えています。さらに、自分が考えた案を否定されたと感じると、それは自分自身を否定されたように感じやすい。ただ、提示したコードや設計は自分自身ではありません。その時点で自分が持っていた情報をもとに立てた仮説に過ぎないはずです。

対案は、その仮説を揺さぶり、検証するための情報だと捉えます。仮説の精度を上げるための材料が増えたと考えると、受け取り方が変わってきます。

議論の構図で言えば「自分 対 相手」ではなく「自分と相手 対 課題」です。そもそも元案は、何か解決したい課題への解法として考えたものです。つまり、課題が解決するのなら、元案のままでなくても良いはずです。元案と対案は、どちらも同じ課題を解くための別ルートだと考えると、どちらが勝つかという話ではなくなります。

対案は、より良い案に昇華するための材料と捉える

対案を敵対的なものではなく、より良い案にたどり着くための材料だと捉え直します。

対案には、元案にはない観点やアイデアが含まれています。それは、自分一人では気付けなかった景色です。対案の存在は、同じ課題に別の光を当ててくれているとも言えます。

そう捉えると、対案を受けた時の選択肢は「採用するか拒絶するか」だけではないことが見えてきます。元案と対案を材料にして、両案を超える合案が作れないかを考える、という選択肢が出てきます。

この考え方は、いわゆる 止揚(アウフヘーベン)*1 に近いものです。正(元案)と反(対案)をぶつけ合わせることで、それ単体では到達できなかった合(合案)へと昇華させる、というヘーゲルの弁証法の考え方です。難しく聞こえますが、要するに「対立する二つの案を素材にして、より良い第三の案を作る」ということだと理解しています。

厳密には、ヘーゲルの止揚は正と反という対立概念を統合する話ですが、ここで扱う対案は元案の正反対とは限りません。別の観点から出てきた代替案や、一部だけを変更した修正案も含みます。あくまで「二つ以上の案を素材にして、より良い案に昇華させる」という発想です。

この発想を前提に置くと、レビューは間違いを指摘する場ではなく、二人以上の知恵を掛け合わせてより遠くへ行くための場になります。

両案を吟味する

合案を探る前に、元案と対案を吟味するいくつかの方法を見ておきます。机上の整理から、相手の意図を引き出す対話、実際に手を動かす検証まで、場面に応じて組み合わせます。

アイデアをテーブルに並べる

比較の前に、そもそも元案と対案を同じテーブルに並べることを意識すると良いでしょう。

特に、口頭でのやり取りは話の流れでどんどん進んでいくので、案そのものが参加者の頭の中でぼんやりとしか共有されていないことがあります。ここで一度、両案をテキストに起こしてみます。これは参加者全員が見えるものなら、Google Docs でもホワイトボードでも何でも構いません。

テキストに起こすことで、全員が同じ認識で議論を進めることができます。また、案を発言者から切り離してフラットに扱えるようになる効果もあります。「誰が言ったか」ではなく「どういう案か」で議論を進めやすくなります。

両案を比較してみる

両案をテーブルに並べたら、様々な軸で比較してみます。

議論する案の性質に合わせて観点を洗い出して、元案と対案を並べます。こうすると、単に「どっちが好きか」ではなく、「この観点だと元案、この観点だと対案」という形で差分が見えてきます。

両案を並べたことで、「対案のこの観点での強みを取り込みつつ、元案のこの観点を残せないか」という問いが自然に立つこともあります。ここから合案の輪郭が見えてきます。この比較だけでも議論が前に進んでいきます。

対案の背景や意図を引き出す

対案の背景や意図を明らかにしていくのも有効です。例えば、次のような質問を投げてみます。

  • 対案が良いと思ったのは、どういう観点からですか
  • 元案のどこが気になりましたか(どのような問題がありそうですか)
  • 元案でカバーされていない観点はどこですか

こうした問いによって、対案の裏にある懸念点や価値基準、経験などがテーブルの上に出てきます。これが見えると、最初の比較では揃えられなかった軸が増え、再度の比較から合案のアイデアにたどり着く足掛かりになります。

それでも迷ったら、手を動かしてみる

比較の軸を揃えて議論しても、机上ではどちらが良いか判断がつかないことがあります。

そういう時は、議論を止めて小さく検証してみるのが一番早いことが多いです。XP で言うスパイク *2 に近い位置づけで、両方のパターンをプロトタイプとして書いてみます。

現代にはコーディングエージェントがあるので、これはトライしやすいでしょう。実際に手を動かしてみると、議論では見えなかった良い点や悪い点、想定していなかった制約などが浮かび上がります。こうして判断材料を増やすことで、より納得感のある結論にたどり着きやすくなります。

これはコーディングだけに限らず、適用することを考えてより具体化する、期間を区切って試しにやってみるなど色々なバリエーションが考えられます。とにかく、やればわかることは多いので試しにやってみる方法も頭に置いておくと良いでしょう。

元案と対案から合案を探す

対案の背景が見え、両案を比較する軸が揃ったら、合案を探すフェーズに入ります。

ここで大事なのは、合案は元案と対案のどちらでもない第三の案に限らない、という点です。

  • 吟味した結果、元案が最適だと分かった合案(= 元案)
  • 吟味した結果、対案が最適だと分かった合案(= 対案)
  • 元案の一部と対案の一部を組み合わせたハイブリッドな合案
  • 両案をきっかけに、前提条件の見直しから始まって全く違う形に行き着いた合案

どれも合案です。重要なのは、両案を素材として吟味した上でたどり着いたかどうかで、最終形が元案や対案と一致しても問題ありません。むしろ、吟味した上で元案に戻った合案は、吟味せずにそのまま進めた元案よりもずっと強いです。議論の前には見えていなかった根拠が、裏付けとして積み重なっているからです。

また、合案は両案の折衷案とも限りません。お互いの主張を半分ずつ取り入れる妥協案ではなく、両案をぶつけたからこそ見えてくる新しい切り口から生まれることもあります。元案や対案を吟味することで、全く別のアプローチで解けるアイデアが浮かぶということもあるでしょう。

対案を出す側の意識

ここまでは対案を受ける側の話が中心でしたが、対案を出す側の意識にも触れておきたいと思います。フィードバックは気づいたところを気軽に返すだけでも良いのですが、合案を一緒に探す姿勢があるとより良いです。

対案を出す側が意識したいのは、自分の対案を通すことだけを目的にしないことです。あくまでより良い案にたどり着くための材料という感覚で出す。結果として自分の対案と違う形に落ち着いても、それが最良ならそれで良い、というスタンスです。

もちろん、意見を交わしたり議論したりすること自体は問題ありません。避けたいのは、議論が白熱するうちに、自分の対案を通すこと自体が目的化してしまうことです。

元案があるからこその対案なので、自分の意見とは相容れないものでも頭ごなしに否定から入るのではなく、まずは受け入れた上で建設的に議論ができればより良い形で進められそうです。

さいごに

対案への向き合い方として、いくつかの観点を書きました。整理すると、根底にあるのは次の三つだと思います。

  • 提示した案は自分自身ではなく、その時点の仮説に過ぎない。
  • 対案は敵ではなく、より良い案に向かうための材料である。
  • 議論の構図は「自分 対 相手」ではなく「自分と相手 対 課題」である。

合案を探すという目的が共有されていると、対案を受ける側も出す側も、議論を勝ち負けではなく共に課題を解決するプロセスと捉えることができます。

まずは、対案が出た時に防御的な反応が出そうになる自分に気付くようにすると、活かし方が変わってくるのでは無いでしょうか。