- ウェビナーレポート前編:不確実な状況でもプロダクト開発を続けるために――はてな・プレイドが語る、コロナ禍の課題と適応のヒント
- 発表資料:トランスフォーメーション・ジャーニー
プロダクト開発に立ちふさがる不確実性、逆境、断絶の3つの分断
市谷氏のセッションタイトルは「トランスフォーメーション・ジャーニー - 逆境を乗り越えるプロダクト開発」。実は同タイトルで7月に開催されたイベント「Developers Summit 2020 Summer(デブサミ夏)」でもセッションを行ったが、時間が短かったため、「半分しか話ができなかった」と言う。今回はその拡大版である。
市谷氏はレッドジャーニーで民間企業のDX伴走支援をする傍ら、政府CIO補佐官として国のDXを進めている。専門は仮説検証とアジャイル開発。
「今日のテーマはプロダクト開発のイマココで立ちふさがるものとは何かについて」と市谷氏は話し、セッションを開始した。現在の状況を分析し、今のプロダクト開発は「不確実性、逆境、断絶との闘いだ」と評した。
そもそもプロダクト開発は、整っている状態から始まることはない。「新しい取り組みはイマココの延長線上にはなく、中身についても分からないことだらけで、そこから立ち上がっていく。したがって混沌から始まる」と市谷氏。プロダクト開発の難しさは、そういった不確実な中で、仮説検証で分かったことを積み上げて、突破しようと挑んでいくところにある。
また、逆境とは、DX(デジタルトランスフォーメンション)の一貫として取り組まれるプロダクト開発においてよく見られる。向き合うべき制約が増え、前に進めたいが進められないといった状況を指す。
さらに断絶とは、コロナ禍でリモートワークが主流になったことでより明らかになった困難だ。物理的な分断が起こったことで、チームや組織の相互理解も分断され、ただでさえ難しかったプロダクト開発がより難しくなっている状況を指す。
「これがプロダクト開発の困難さを高める分断のトライアングル」と市谷氏は言い切る。さらにこの3つの分断は、不確実性が6個、逆境が4個、断絶が3個、計13個の問題を抱えているという。
これらの問題をどうにか乗り越えていくために、最初に取り組むことは、「仮設と約束」を置くことだ。チーム活動は共通の認識をそろえていくことが前提となる。そこで一時的でよいので、同じ方向を向けるよう仮の方向性を設置(仮設)するというのだ。こうすることで、その方向性が「合っている」「間違っている」といった次の会話ができるようになる。ただこの方向性はあくまでも仮。「いずれその方向性は変えていくことを約束しておくこと」と市谷氏は強調する。
方向性を見直し、変えるタイミングは、タイムボックスを設定して決めておく。アジャイル開発でのスプリントもそれにあたるというが、市谷氏は3種類のタイムボックスの設定を推奨した。「我々はなぜここにいるのか」など、ミッションレベルの目標は、複数のスプリントをまたいだ最大のタイムボックス(ジャーニー)で判断。また、スプリントで実現すべきこと、いわゆる「スプリントゴール」は中間のタイムボックス、「今日は何をするのか」などは1日のデイリースプリントという最小のタイムボックスを設置する。それぞれのレベルごとに、1つ前のタイムボックスでの結果を踏まえて次の目的を決める。これが「方向性を変える」プロセスだ。
6つの不確実性の問題に向き合うための「探索と学習」
こういった仕組みを前提にして、分断による13の問題に向き合うにはどのような方法があるのか。
不確実性については、「探索と学習が必要になる」と市谷氏。つまり仮説検証とアジャイル開発が前提となる。
不確実性にまつわる問題の第一は「シャロウコンセプト(浅いコンセプト)」。どこかで聞いたことがあるような、奥行きに欠けたコンセプトのことだ。「“私が考えた最強のプロダクト”はだいたいが調査不足。多くの人に必要とされるという確信が強いほど、類似のものが世の中にあると思った方がよい」と市谷氏。この問題に向き合う術としては、「仮説検証によってPSfit(Problem/Solution Fit、解決すべき課題があるか)を確かめること」。そして仮説検証により「そのコンセプトを必要とする人がいるのか」という問いに答えられるようにすることだという。
第二は「過剰な意気込み」。意気込みと現状の理解との間に大きな隔たりがあること。「『やってみないと分からない』『まずは試してみる』というのは正しい言葉だが、それが正しい判断とは限らない。大本営的なプロダクト開発になりがち」と市谷氏。この問題への対処法としては、「分かっていないことを早く分かるための検証手段を選ぶこと」だという。手段は「ソフトウェアを作る」ことだけではないはず。構想があいまい過ぎる段階では、時間とコストをかけて開発をするよりも、明日にでも1つ分かることがあるような検証の手段を検討した方がよいだろう。
第三は「ゼロチーム」。プロダクトオーナー一人しかおらず、チームも支援者もいないということ。既存事業をきっちり稼働させることに力を入れているので、新しい企画には人を配置できない。「こういう状態が続く限り、判断が一人の経験知識に委ねられることになる」と市谷氏。この問題に向き合う術は、チームの結成を段階的に行うこと。各ジャーニーのミッションから必要な役割を定め、少なくともその人材の確保に努めることだという。その際、組織内のみならず、外部から専門家を招へいすることも考慮する方が現実的でよい。
第四は「本人にも分からない」。作ることは決まっているが、具体的に何を作っていくのかは企画者本人を含め誰にも分からない。イメージがあるといっても、具体的なアウトプットがないのでチーム内のイメージも合わない。こういう状況だとやがて迷走していくことになる。この問題に対しては、アウトプットベースで考えることで向き合う。「考えて作るのではなく、作って考えることを選択肢に入れること」と市谷氏。形を見ることで考えやすくなるからだ。このとき、必要なのは手書きのラフなスケッチだという。
第五は「われわれは何を作るべきなのか」。プロダクトを作ることは決まっているが、何を作るべきなのかが分かっていない、いわば「王道の課題」と市谷氏は言う。この問題に対しては、どの部分が分かっていないのかによって「課題仮説」「機能仮説」「形態仮説」の3つの切り口でプロダクトを捉え、それぞれ検証を行っていくことだという。
最後は「オーバーエンジニアリング」。何を作るべきかの基準が弱い(あるいはない)ため、どうやって実現するかの方策が立てられず過剰な技術選択をしてしまう状況を指す。こういう状況では何でもありになってしまい、やってみたいベースで判断していった結果、足を取られることになるという。この問題に対しては、長期的視点・短期的視点・目的・手段など、「多次元から考えること」が重要だとした。
大事なことは、これら6個の問題のうち、1個や2個解決してもよくならないということ。「これら6個の問題はすべてつながりがある。手を抜いていると不確実性が高まっていく」と市谷氏は語る。