ABEJA Tech Blog

中の人の興味のある情報を発信していきます

不確実性を抱き締めて

こんにちは、ABEJAでプロジェクトマネージャーをしている都倉と申します。これはABEJAアドベントカレンダー2024の1日目の記事です。AI技術が急速に進化する中で、私たちは日々新たな挑戦と向き合っています。 AI時代における不確実性マネジメントというテーマで、非エンジニアの仮説検証のスピードと質がこの2年で全然違うものになってきましたねというお話しができればと思います。

1. 不確実性について

不確実性と聞くと、どのような印象をお持ちでしょうか?仕事の場面ではリスクと捉えられ、あまり良い印象を持たないかもしれません。しかし、少し思い出してみてください。子どもの頃、友達と一緒にあてもなく自転車で遠出をしたことはありませんか?見知らぬ道を探検したり、秘密基地を作ったり、新しい遊びを考えたりしたことはありませんか?そのどれもが計画通りにはいかない不確実なものでしたが、その分ワクワクしたのではないでしょうか。 その時感じたワクワクやドキドキは不確実性がもたらすものだと、そして不確実性は人生に楽しみや刺激を与えてくれる存在だと、私は考えています。今日はそんな不確実性をそっと抱きしめて、愛してみませんかというお話をしたいと思います。

不確実性抱き枕

不確実性の種類

まず最初に不確実性の定義の話をしたいと思います。 何かしらのプロジェクトを進める上で、以下の3つの不確実性が存在します。この定義は広木大地さんの『エンジニアリング組織論への招待』の内容をもとにしています。とても素晴らしい本なのでご興味がある方はぜひ手に取って見てください。

  • 目的不確実性:やろうとしていることが本当に価値を生むのか

    目的不確実性の不確実性コーン

  • 方法不確実性:計画通りに進行できるのか

    方法不確実性の不確実性コーン

  • 通信不確実性:チーム内で情報や認識が一致しているのか

    文章の美しさと長さによる伝わりやすさの違い

目的不確実性と方法不確実性は「不確実性コーン」として表現でき、仮説検証による学習を繰り返すことで減衰させることができます。 ここでプロダクトマネジメントとプロジェクトマネジメントについて触れたいと思います。私はそれぞれの定義を以下のように捉えています。

  • プロダクトマネジメント:目的不確実性をマネジメントするもの
  • プロジェクトマネジメント:方法不確実性をマネジメントするもの

なので、プロダクトマネジメントでは開発しようとしているプロダクトが本当に価値を生むものかということを最優先で仮説検証をすることが重要です。とはいえ何でもかんでも開発すれば良いという訳ではありません。私は何かを開発するとその時点から技術負債になると考えています。なので、プロダクトマネジメントに関してはいかに開発しないかというマネジメント手法であると捉えています。 一方、プロジェクトマネジメントでは設定しているゴールを計画通りに達成することを最優先に考えることが重要です。設定しているゴールが正しいという前提で、タスクの見積もりを行った上で見積もりと実績の差分を埋めながら計画通りにゴール達成を目指していきます。

私たちABEJAでは契約の都合上、お客様とプロジェクト期間とゴールを設定するケースが多いため、どちらかといえば方法不確実性をマネジメントするプロジェクトマネジメントが重要になってきます。とはいえ、最初に設定するゴールも仮説に基づいているものであるため、仮説検証を通じて本当に価値のあるゴールに進化させていく必要があります。故に、プロダクトマネジメントも非常に重要になってくるのです。 みなさんが関わったことあるプロジェクトでも設定していたゴールには到達したけれど思った通りの成果が出なかったという経験はないでしょうか?私は何度もあります。思い返してみると、目的不確実性をあまり意識していなかったからだったなと感じます。 目的不確実性と方法不確実性の両方に向き合う場合は、両方の不確実性コーンが合体した三次元的な不確実性コーンをマネジメントする必要があります。この三次元の不確実性コーンをマネジメントしながら、価値を創出することが極めて重要なのです。

三次元の不確実性コーン

通信不確実性についても少し補足します。通信不確実性とは所謂「言ったことが伝わっていない」という事象が発生する不確実性です。会議で言ったのになんでやってくれてないんだろう?それこの前Slackで伝えたよね?資料に書いたのになんで理解してくれてないんだろう?ということに心当たりはないでしょうか。この現象こそが通信不確実性に起因する現象なのです。 この現象が発生する要因は色々あると思いますが、私は「文章の長さ」と「文章の美しさ」が大きな変数だと考えています。文章は長くなれば長くなるほど多くの情報を伝えることができます。ただし、これを実現する前提条件として「文章が美しい」ことを満たす必要があります。「文章が美しい」ことに対するイメージは人それぞれかと思いますが、私は以下の3つが重要だと考えています。

  1. てにをはを正しく使うこと
  2. 名詞をつなげて新しい言葉を作らないこと
  3. 認識の違いが発生する表現を使わないこと

具体的な例を考えてみましょう。「赤い果物」と言われて何をイメージしますか?りんごをイメージする人もいればイチゴをイメージする人もいると思います。では「木に実る果物で赤くて丸いです。噛むとシャリッとして甘くて爽やかな味がします。青森県や長野県が名産地です。」と言われるとどうでしょうか?大体の方がりんごをイメージするのではないでしょうか。このように「文章が美しい」限りは「文章が長い」ことによって情報を適切に伝えることができます。「文章が美しくない」という例も考えてみましょう。「赤丸甘果物です。あ、甘くない場合が。童謡よく歌います。」と言われるとどうでしょうか?多分りんご…かな…?と少し不安を感じると思います。これは極端な例ですが、複雑性が高い業務中のコミュニケーションにおいて少しでも「文章が美しい」という状態を怠ると少しずつ認識のずれが発生し、後々のリカバリーコストに跳ね返ってきてしまいます。 と言うことで、通信不確実性を減少させるためにも私は常々ディズニープリンセスになったつもりで会話をすることを強く意識しています。皆さんもぜひ心の中にディズニープリンセスを住まわしてあげてください。

2. 従来の不確実性マネジメント

ここからは私が実践している不確実性マネジメントの手法を挙げていってみようと思います。 まずは従来から実践している手法を挙げてみます。

目的不確実性への対応

  • 市場調査とユーザーインタビュー:価値のあるプロダクトかどうかを事前にあたりをつける
  • プロトタイピング:開発コストをかけずに試作品を作成し、フィードバックを得る

方法不確実性への対応

  • 計画の細分化とスケジュール管理:タスクを細かく分けて進捗を可視化
  • リスクアセスメントと対策:潜在的な問題を予測し、バッファを持ちながら事前に対策を講じる

通信不確実性への対応

  • コミュニケーションの強化:言葉の定義は一意になるよう意識をしながらコミュニケーションを行う
  • ドキュメンテーション:情報を文書化し、チーム全体で共有

と、色々挙げてみましたが皆さんも日々向き合っているものですよね。言うは易しでこれを確実に実行することって本当に難しいですよね。ユーザーインタビューするまでの準備が大変、プロトタイピングを作っては潰して作っては潰してで辛い、タスクが想定しているスケジュールで進まない、思いもよらぬトラブルにより手戻りが発生する、職種が違えば認識を一致させるのが難しい、チーム内で衝突が起きる。パッと思いつくだけでも様々な難しさがありますが、それ故に不確実性に向き合うことは改めて大変だなと感じます。

3. AI時代の不確実性マネジメント

さて、生成AIの登場により私たちの仕事の仕方は大きく変わってきたのではないでしょうか。もちろん、不確実性マネジメントについてもその手法がここ最近大きく変わってきたと感じています。ということで最後に、AI時代の不確実性マネジメントの具体的な手法の話をできればと思います。そして、これが皆さんの日々の不確実性マネジメントのヒントになれば幸いです。

目的不確実性へのAIの活用

  • 迅速なアイデアの具体化:生成AIを用いてアイデアを即座に形にし、価値を検証
    • UXデザイン→要求/要件定義→UIデザイン→MVP開発までのプロセスは従来であれば数日〜数週間かかっていたかもしれませんが、生成AIを使えば数時間で実行できます。これによりユーザーインタビューの試行回数を増やすことで目的不確実性を減衰させることができます。
    • ここで重要なこととして「いかに開発せずに仮説検証ができるか」を常に頭に置いておくことだと考えています。
      個人的に欲しいなと思い考えていたプロダクトのワイヤーフレーム
  • ユーザーシミュレーション:AIでユーザー行動をシミュレートし、ニーズを予測
    • 場合によっては、実際に作成したアウトプットを生成AIにインプットしてユーザーの反応をシミュレーションすることも可能です。(生成AIだとポジティブな反応ばかり返ってくる&実際のユーザーではないのであくまでも参考にという位置付けですが)
      想定するユーザーが間違っている気がするある日のシミュレーション

方法不確実性へのAIの活用

  • MVPの高速開発:製品の初期バージョンを迅速に作成
    • 「迅速なアイデアの具現化」の内容と重複する部分がありますが、例えばMVP開発に焦点を置いてみると、生成AIを活用して一巡タスクを実行してみると、その検証による学習からバッファとリスクの解像度を上げることができます。
  • 自動化と最適化:AIを用いたスケジュール最適化やリスク予測
    • またスケジュールの全体像を確認する際も生成AIと協力しながら進めることで、第三者的な観点を出しながらより精度の良いものを作ることができます。

通信不確実性へのAIの活用

  • 自然言語処理による情報共有:AIが議事録を自動生成し、情報の抜け漏れを防止
    • 最近弊社では会議の文字起こし→議事録作成までをAIを活用して自動化を行なっています。これにより、チーム間での情報伝達の抜けもれを防ぐことができています。
  • コードでのコミュニケーション:ビジネスメンバーとテックメンバー間の言語を統一することで認識を統一
    • 生成AIは自然言語からコードを書くことができるので、ビジネスメンバーも簡単なコーディングであればできるようになってきたと思います。これにより最も効果を感じているのは、コードを起点にコミュニケーションすることによる情報伝達ミスの減少です。
    • ここで注意したいのは、あくまでも目的は「コミュニケーションにおける認識のズレをなくすこと」でありエンジニアリングそのものに口出しをしたい訳ではありません。エンジニアの皆さんの楽しみを奪ってはいけないのです。
      ある日のエンジニアとのやり取り(一部モザイク加工をしています)

これらは一例にしか過ぎませんが、不確実性マネジメントの様々なポイントでAIを活用することで、仮説検証サイクルの試行回数を急激に増やすことができるようになってきているとともに、コミュニケーションのズレも小さくできるようになってきました。これにより、従来に比べると多くの学習結果が得られ、結果的に不確実性の早期的な収束に繋げられていると感じています。

4. 不確実性を抱き締めて

不確実性は避けるべきものではなく、むしろ愛して抱き締めるべきものです。子どもの頃に感じた冒険心や好奇心を思い出し、不確実性を楽しむことで、新たな価値を創造していきましょう。世界中の人々が不確実性をそっと抱きしめることができれば世界はゆたかになっていくと信じています。

5. We Are Hiring!

ABEJAは、テクノロジーの社会実装に取り組んでいます。 技術はもちろん、技術をどのようにして社会やビジネスに組み込んでいくかを考えるのが好きな方は、下記採用ページからエントリーください! (新卒の方やインターンシップのエントリーもお待ちしております!)

careers.abejainc.com

特に下記ポジションの募集を強化しています!ぜひ御覧ください!

プラットフォームグループ:シニアソフトウェアエンジニア | 株式会社ABEJA

トランスフォーメーション領域:ソフトウェアエンジニア(リードクラス) | 株式会社ABEJA

トランスフォーメーション領域:データサイエンティスト(シニアクラス) | 株式会社ABEJA