困難な開発を少数メンバーで! 『LegalForce』の新機能開発の裏側に迫る
2022年12月、AI契約審査プラットフォーム『LegalForce』にオープンβ版として「オンラインエディタ」機能が搭載されました。開発が始まったのは2021年9月ごろ。開発初期に関わったエディタパーティ*のメンバーはどんな思いでリリース日を迎えたのか、新機能を0から考え開発することの大変さや面白さを、存分に語ってもらいました。
<プロフィール>※左から
*パーティとは、ミッション単位で構成される開発チームのこと。フロントエンドエンジニアやバックエンドエンジニア、デザイナー、QA(品質保証)エンジニアといったプロダクト開発に必要な役割を担うメンバーが所属している。
Wordとの互換性をブラウザで担保 難易度の高い開発にも前向きに
― AI契約審査プラットフォーム『LegalForce』上で契約書の編集が可能になる「オンラインエディタ機能」ですが、開発にはどんな背景があったんですか?
中野 これまでの『LegalForce』は、契約書ファイルをアップロードしてレビューを行った後、編集についてはWordなど他のツールに頼る必要がありました。この、契約書の編集の部分についても『LegalForce』だけで完結させたいという思いで、開発がスタートしました。
検討し始めてすぐ、社内でニーズのヒアリングをし始めました。正直「大変そうだ」と感じました。Wordで編集した契約書の状態を担保する必要がありますし、さまざまな形式の契約書がある中で、どんなことができればOKかというラインの設定も難しい。やらなければいけないことが山のようにある中で、黒田さん、何さんら初期のメンバーとともに開発に着手しました。
黒田 私も「大変だな」というのが率直な感想でした。Wordは、マイクロソフトという大企業が多くの人員を掛けてつくっているものです。そんなソフトウェアと互換性を保ちながらブラウザ上で動かせる機能を、少人数で開発するのは難易度が高いと感じました。
何 僕も同じく、大変なプロジェクトという印象でした。フロントエンド領域を担当することになったんですが、どうやってブラウザ上でこの機能を構築するのかイメージが湧きませんでした。
― Wordとの互換性を保ってブラウザ上で動作する機能を開発するのは、本当に大変なことなんですね。
中野 でも「大変だ」と言っていると、「できないんじゃないか」という感情が広がって前に進めなくなってしまいます。メンバーには「大変と思うことはやめて、やらなきゃいけないことを粛々とやろう」「前向きにできる方法を考えて取り組もう」と伝えました。
黒田 開発初期に関係者でホワイトボードを囲んでアーキテクチャを考えたんですが、それがすごく楽しかったのを覚えています。ゼロからアーキテクチャを考えるのは、あまりできない経験。難易度が高いほど不確実なことも多いですが、これをきちんと進められたら、自分の能力をぐっと伸ばせると思えてワクワクしましたね。
フェーズを区切り、ゴールを明確化 まずは実現可能性の検証からスタート
― 開発を進める上で、中野さんがPdMとして意識したのはどんなことでしたか?
中野 うまくいかないことがあっても、それは無駄にはならないこと、決して後ろ向きにならないようにと伝え続けました。それまでかけた時間で上がった成果をなるべく明らかにして、開発が着実に進んでいることを示すようにしていましたね。また、優先度の高いものから取り組み、「今やらないこと」は何かを決めて進めることも意識していました。
― 進行のしかたにも工夫があったそうですね。
中野 いくつかフェーズを区切って、そのとおりに進行していきました。「フェーズ0」ではOffice Open XMLのデータをきちんと変換できるかを見極め、開発の継続可否を判断する必要がありました。その懸念を検証し、2021年いっぱいで払拭。「フェーズ1」では、基本的な機能を動かせるようにしてクローズドβ版をリリースすることを目標にし、「フェーズ2」は、一定の編集体験ができるオープンβ版リリースを目指して進めました。開発途中に軌道修正をしやすくするためにも、最初の段階で共通認識として各フェーズを整理して進められたのは良かった点です。
黒田 フェーズごとにゴールがあったので、その期間に何に集中すべきかが明らかになっていました。チームとしての行き先を示すマイルストーンがあったからこそ、効率よく進められたと思います。
― 黒田さんは「フェーズ0」の段階で手応えを感じていたそうですね。
黒田 最初は技術検証として、バックエンド側でWordのXMLをJSONファイルに変換して、もう一度Wordに変換するという作業をしていました。当初から前後の内容に致命的な欠落はなく、何さんがつくっていたフロントエンド側と組み合わせて、実際に触れる検証環境を構築。その環境上でWordファイルを読み込み、編集してダウンロードするという基本的な一連の流れを実現し、動作しているのを目で確認できたときに「いけそうだな」という感覚が得られました。
― うまくいくように工夫した点はありますか?
黒田 膨大な情報の中から、優先すべき情報は何か判断するように意識したことです。Wordの中身を構成するXMLはものすごい数で、私たちはそれを5,000ページある英語の仕様書から把握していきました。そのすべてを網羅しようとするのではなく、互換性のあるエディタをつくるうえで必要な、テキストを表すタグだけを順番に確認して進めていきました。
中野 ゴールは、お客さまが安心して使えるものを提供すること。そこの認識合わせをしていたので、仕様書も大事なところだけ見ていくことができ、短工期で成果に結び付けられたと思います。
リリースが迫る中でも時間を朝夕に全員で時間をとり、密にコミュニケーション。大事なのは粛々と取り組める環境づくり
― フェーズ1に入った2022年1月に高木さんが入社し、開発が加速していきました。
高木 当時は技術的には開発の目処は立っていましたが、製品化の方向性までは決まっていない状態。僕は早くエディタパーティに貢献できるように、社内で使っているプログラムコードなど前提知識の理解を進めてキャッチアップしていきました。
黒田 開発にあたっては、ただ動くものをつくるのではなく、中長期的に機能を追加しながら運用していけるアーキテクチャも考えていく必要があります。セキュリティに問題はないか、大量のアクセスがあっても対応できるかなど、実運用を意識してメンバーと開発を進めていきました。
何 社内の人から言われて意識していたのが、「Wordを超えられないと使い物にならない」という言葉。ブラウザ上でWordよりも良い編集体験をユーザーに提供できなければ、エディタを売ることはできないと念頭に置きながら開発を進めました。
― そこからクローズドβ版リリースまではいかがでしたか?
何 6月になって、僕が開発していたフロントエンドと黒田さんが担当していたバックエンドを初めて連携させました。契約書を『LegalForce』を通じてアップロードして、エディタ画面にたどりついたとき、うまくいきそうだと思いましたね。
高木 僕はフロントエンドとバックエンドをつなげる部分を担当していたんですが、何さんと同じく、実際につなげてすんなり動いたときに「これはいけるぞ」と思えました。ただ、営業担当者からも強く要望されていた機能のいくつかは、優先度との兼ね合いででクローズドβ版からはなくなく削りました。
中野 ゴールとしてどんな価値を提供すればいいのかを考えたときに、今動いているものを提供して、フィードバックを受けて改善していくことを選びました。そこを見誤らなかったのは良かったですね。「絶対要件通りにつくる」ことよりも、最初に決めたゴールのほうが重要ですから。
― ゴールをきちんと定めて、やらないことを決めるのが大切なんですね。
中野 そうですね。クローズドβ版リリース直前の2週間前くらいから、朝会と夕会を毎日開いて、進捗を確認しながら次のアクションを決めるようにしました。目的は、いま何が起こっているか、何の優先順位が高いか、その理由は何かを把握すること。期日が迫ると、焦るか判断に迷ってしまうのが人間の常です。それを理解したうえで、方向性を見誤らず粛々と取り組める環境をつくれたことで、リリース予定日通りにクローズドβ版のリリースにこぎつけることができました。
次回は、「オンラインエディタ」機能のオープンβ版リリースに関わったメンバー全員へのインタビューをご紹介します。
LegalOn Technologiesでは開発職の採用を行っています。
詳細はこちらをご参照ください。