Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

今、Contract Oneで働く魅力

契約データベース「Contract One」にて、テクニカルリードをやっている原です。

Contract Oneにジョインしてからだいたい2年半くらい経ちました。時の流れは早いですね。そこで今回は、エンジニア視点で「今、Contract Oneで働く魅力」について語りたいと思います。

今、Contract Oneで働く最大の魅力は3つあります。「契約データベース」という新領域への挑戦、Sansan株式会社やグループ企業である言語理解研究所が持つ独自技術やデータ資産を活用した独自機能の開発、そしてプロダクトが複雑かつ急成長期ならではの技術的チャレンジです。

現場の習慣を変える、契約データベース

私たちContract Oneは、営業DXサービス「Sansan」が名刺管理で実現したように、インボイス管理サービス「Bill One」が請求書管理のあり方を革新したように、Contract Oneを通じて、これまで見過ごされてきた企業の契約データの可能性を最大限に引き出すことを目指しています。

従来の契約書管理は、締結後の契約書を保管するだけの、いわば「静的な台帳」に過ぎませんでした。しかし、契約書には企業との重要な取引情報、権利・義務など、ビジネスにおける重要な情報が詰まっています。Contract Oneは、この契約書を高精度にデータ化し、活用しやすいように構造化することで、「動的な資産」へと進化させます。

つまり私たちが行うのは、契約データを単なる記録ではなく、現場の習慣を変える「契約データベース」とすることです。これにより、法務部門だけでなく、営業、経営企画、調達など、あらゆるビジネスパーソンが契約情報をタイムリーに、そして手間なく活用できる世界を実現しようとしています。

今のContract Oneは以下の3つの価値を提供することで、顧客のビジネスの成長を加速させます。

  • 正確なデータ: Sansanが長年培ってきたアナログ情報をデジタル化する技術とオペレーションにより、極めて高い精度で契約書から必要な情報をデータ化します。特に、以下のような基本情報は非常に高い精度でデータ化することができます。
    1. 契約書タイトル
    2. 契約先
    3. 契約締結日
    4. 契約開始日
    5. 契約終了日
    6. 解約通知期限日
    7. 自動更新有無
    8. 自動更新期間
    9. 金額
  • 構造化されたデータ: 単にデータを集めるだけでなく、契約書の親子関係を自動でひも付けや、企業ごとの契約を一覧化する企業別契約ツリーなど、独自の技術で契約データをビジネスで活用しやすい形に構造化します。
  • 「手間いらず」な利用体験: 紙の契約書のスキャン代行から、PDFになっている契約書のアップロード、電子契約との連携まで、あらゆる形式の契約情報を手間なく一元管理できる仕組みを提供します。これにより、契約締結からデータ活用までの時間を最短化します。

エッジを尖らせて、リーガルテックに新たな潮流を創出させる

多くのお客様のおかげでContract OneはPMF(プロダクトマーケットフィット)を迎え、今は「1→10フェーズ」に入ってきています。そのため、Sansan株式会社内でのContract Oneの位置づけは、単なる新規事業の一つではなく、「Sansanの新たな事業の柱」として、その成長に大きな期待が寄せられています。

その期待に応えるため、今後も事業を成長させていくにあたり「エッジを尖らせる」という考えを大事にしています。

競合サービスも多数ある中で、顧客からの支持が得られない原因を機能が不足しているせいにして、無闇に機能を横並びに増やしてもプロダクトが凡庸になってしまうだけです。エンジニアとしても保守・運用の負荷がだんだん高くなってしまいますし、これではリーガルテック領域で突き抜けることはできません。

そこで私たちは「他社には作れない、自社にしか作りえない価値」を次々とリリースしています。

契約書の親子関係自動ひも付け機能

これは、「基本契約」を親契約とし、「個別契約書」や「覚書」などを子契約として自動的に判別してひも付けし、契約の関連性を契約ツリーとして可視化するものです。

これにより、ユーザーは契約書の親子関係をすぐに把握できるため、俯瞰的な契約管理が可能になります。従来は手作業で行っていた関連契約のひも付け作業を自動化することで、担当者の負担を軽減し、より重要な業務に集中できるようになります。

自動でひも付けするための技術は、2023年6月にSansanにグループ入りした言語理解研究所の自然言語処理技術を活用しています。言語理解研究所は徳島大学名誉教授の青江先生によって創業された会社で、青江先生の研究室時代から数えると40年以上かけて、自然言語処理の技術・データベースを磨いてきました。

Sansanのデータ化技術と言語理解研究所の技術を組み合わせることで実現した機能で、Sansanにしか実現できない強みをさらに伸ばせました。

www.nikkei.com

企業別契約ツリー機能

これは、企業ごとに契約を一覧化できる機能です。重要な特徴は、社名の表記揺れや過去に社名変更があった場合でも、同一企業として認識・統合できる点です。これにより、過去契約を含め網羅的に取引履歴を確認することが可能になりました。

これも、名刺管理サービスSansanで培われた、名刺交換した相手の社名が変わっていたとしても同一企業・人物として識別できる独自のデータ統合技術があったからこそ実現できた機能です。

www.nikkei.com

アナログとデジタルの融合:SansanのDNAが息づく、唯一無二の価値

また、Contract Oneの中核には、Sansanが創業以来培ってきた「アナログ×デジタル」の強みが深く息づいています。これも他社にない「エッジ」の1つです。多くの企業が依然として抱える紙の契約書というアナログな情報を、私たちは超高精度なデータ化技術によって、デジタルデータへと変換しています。

これには、Sansanが長年培ってきた独自のOCR技術と熟練オペレーターの体制による丁寧な補正を組み合わせることで実現しています。これは他社には真似できない、私たちの大きなアドバンテージです。

デジタル化された契約データは、Sansan独自のデータ統合技術によって、企業名や契約の種類などでひも付けられ、構造化されたデータベースとして蓄積されます。これにより、煩雑な契約書の検索や管理から解放され、必要な情報を瞬時に見つけ出すことが可能になります。

Contract Oneは、超高精度なデジタル化だけでなく、それらのデータをきちんと構造化し、ビジネスの現場で誰もが手間なく活用できる状態にしてくれます。これは、まさにSansanのDNAを受け継ぐ、Contract Oneならではの唯一無二の価値と言えるでしょう。

今後のContract Oneの挑戦

私たちは今後も「契約データベース」を主軸として、他社ではできない「エッジの尖った価値」をさらに提供できるよう挑戦していくつもりです。

データ化・構造化のさらなる進化

データ化の精度においては、現状に満足するだけでなく、更なる向上を目指しています。そのために、オペレーターの育成や品質管理の強化に取り組んでいます。

また、最近ですとAI技術を活用した「拡張項目のAI自動入力」という機能により、顧客が求める様々な情報のデータ化を可能にすることで、新たな価値を提供できるようになりました。

こういったAIの活用も含めつつSansan独自の技術やデータ資産も組み合わせ、さらに契約データの構造化を強化し、顧客のビジネスの成長につながる価値を打ち出していきたいと考えています。

データベース構築のリードタイム短縮

お客様がContract Oneをより早く利用開始できるよう、スキャンサービスの高速化やデータ化スピードの向上に取り組んでいます。これにより、「お客様が全く手間なく利用できる」という価値をさらに高めていきます。

検索性の向上

蓄積された契約データを最大限に活用いただくために、検索性の向上は重要なテーマです。最近は契約書検索の基盤をElasticsearchで刷新し、検索速度を大幅に向上させました。

検索機能が高速化!契約データベースの裏側システムについて|川崎淳史

今後は、Sansanが長年培ってきたデータ資産を活用して、検索結果の質を向上させる改善を重ねて最高の検索体験を目指します。

対象領域を広げて新たな価値を作る

契約データベースによる体験をより良いものにするため、契約締結後の領域だけでなく、契約締結前の領域も視野に入れて挑戦しています。

最近ですと、契約書の文書比較機能をリリースしました。契約書どうしを比較できるこの機能は、契約締結前の検討段階で活用されており、お客様からポジティブなフィードバックを得ています。この機能にもSansan独自の技術が使われています。

こういった対象領域を広げる取り組みを今後も行い、Contract Oneをさらに良いものに仕上げていくつもりです。

技術的な挑戦と成長環境

「契約業務」という複雑な領域:ドメインモデリングの重要性

以前のContract Oneでは、プロダクトの初期段階において、必ずしもアプリアーキテクチャが十分に練られておらず、業務ロジックが各APIに散在している状態でした。しかしこれでは複雑な契約業務を実装する上で保守性・再利用性・可読性を保つことが難しく、プロダクト品質にも悪影響が出てしまいます。

このような状況を打破し、複雑な契約業務領域で高いプロダクト品質を提供していくために、私たちはドメイン駆動設計(DDD)をベースとしたアプリアーキテクチャを採用しています。

ただし、深く考えずにDDDを採用しただけでは「実装が複数レイヤーに分かれているだけ」になりがちです。本質は、複雑な業務ルールをきちんと理解し、保守性・再利用性・可読性のある形にモデリングして実装するところにあると思います。

そのため、Contract Oneのエンジニアたちは企画フェーズから参戦しており、PdM・デザイナーと一緒になって次の企画を考えています。既存顧客へのユーザーヒアリングに同席することもあれば、デザインモックを通してのウォークスルーに参加することもあります。こうして次に開発する機能の知識をインプットしてモデリングに備えています。

そして現在、Contract Oneの新しい機能開発においては、各チームでドメインモデリングを入念に行っています。イベントストーミングなどを通じて、PdMやデザイナーが開発フェーズにも参戦しており、ビジネス側の知識と開発側の知識をお互い共有し、契約業務における重要な概念やイベント、それらの間の関係性を明確にしています。

また、過去の実装においては、改めてドメインモデルを設計し直し、リファクタリング活動を積極的に行っています。たとえそれが規模の大きい領域であったとしても、プロダクトの中核となる重要な部分であるならば、必要な人員と期間を確保して積極的に投資を行なっています。

buildersbox.corp-sansan.com

開発生産性や開発者体験の向上

Contract Oneはすでに単なる新規事業の一つではなく、Sansanの新たな事業の柱として成長に大きな期待が寄せられています。それに対して、リーガルテックという領域はかなりレッドオーシャンです。

そんな中で私たちエンジニアはハイスピードで開発を行い、素早く価値をリリースし、競合を引き離していく必要があります。また、プロダクト品質を保ちつつ、エンジニア自身の満足度も保ち、その結果として質の高いアウトカムを創出する必要もあります。

Contract Oneは開発生産性や開発者体験の向上に対して、昔から積極的に投資を行なっています。

speakerdeck.com

また、停滞していた技術課題や改善案に真剣に向き合う1日限定の社内ハッカソンを開催したこともあります。これにより短期間で成果を出し、エンジニアたちのモチベーションとパフォーマンスも向上しました。今後もこういった取り組みを継続的に行っていく予定です。

buildersbox.corp-sansan.com

Contract Oneが今後やっていきたい技術的な改善

開発生産性、開発者体験、運用品質、アーキテクチャなど、Contract Oneではまだまだ改善のために投資を行なっていく予定です。

エンジニアが集まって今後の技術面について話し合う機会はいくつかあり、最近ですと以下のような話が出てきています。

  • 各エンジニアごとに、本番環境とほぼ同じ構成の開発環境をGoogle Cloud上に構築する
    • 現在は実装時の動作確認をする際にローカルPC上でContract Oneを動作させている
    • Contract Oneを動かすためのアプリの数や使用するGoogle Cloudのサービスなども増えてきており、ローカルPC1つでContract Oneを動かすのが面倒になってきている
    • Google Cloud上に各エンジニアの開発環境を作ることで、ローカルPCの負担を減らす
  • パフォーマンステストの環境を整備する
    • 顧客の増加に伴ってContract Oneが抱える契約書などのデータ量が急増しており、機能の追加・修正のときにシステム負荷によるトラブルが増えてきている
    • 現在行っている機能開発時のパフォーマンステストでは、テスト用データの生成や負荷をかける環境について、各チームがゼロから用意している。
    • 簡単にテスト用データの生成ができる仕組みや、負荷テストの環境を整えることで、パフォーマンステストの準備コストを削減し、もっと手軽にパフォーマンステストできるようにする。
  • マイクロサービスへの移行
    • 現在は契約管理、契約書検索、電子契約、組織(ユーザーや部署など)、契約締結など、なんとなくコンテキスト境界は見えているが、実態はモノリスな1つのシステム
    • 将来的にチーム数が増加し、上記について分業体制となった場合にコードのコンフリクトやリリース調整がネックになる
    • イベントストーミングなどを行いつつ、コンテキスト境界を明確にして分離していきたい
  • 内部運用作業の自動化
    • 機能数も多くなってきており、多様な顧客も増えてきた影響で、社内で行なっている手動の運用作業の種類と量が多くなってきており、エンジニアへの負荷になっている
      • 例)契約データの修正、テナントに対する設定の適用、データ移行、etc…
    • 完全自動化、もしくは半自動化して外部組織に委託し、エンジニアの負荷を減らしていく
  • インシデント管理システムの導入
    • 現在はシステムからのアラート通知がSlackに来るため、Slack上で対応のやりとりがされており、アラート対応の当番の管理も手動で行なっている
    • Slackのチャンネル内にインシデント対応のナレッジが分散しており、「前はどう対応していたんだっけ?」となりやすい。
    • そのため、インシデントとナレッジのひも付けをきちんと管理して、インシデント対応の時間を短縮する。アラート対応の当番管理なども自動化する。

Contract Oneはまだまだ成長中のプロダクトであり、今後もプロダクトや開発組織が拡大するにつれていろいろな技術的課題が出てくると思われます。そのため、幅広い技術知識を持って意思決定を行い、技術的課題を解決していく必要があり、エンジニアとして働くにはそれ相応の高いスキルが求められる環境です。まだまだ技術的にも挑戦することが多いですが、そのぶん成長実感を得られやすい環境でもあります。

チームの文化と働き方

Contract One は、既存業務の単なる置き換えではなく、契約領域を切り開く新しいプロダクトです。この挑戦に取り組んでいる私たちの開発組織には、明確なミッションがあります。

それは「視野を広げて、プロダクトへの要求を超える」です。

視野を広げる

エッジを尖らせた全く新しい価値を提供していくプロダクトだからこそ、与えられた仕様を知っているだけでは、真に価値のある開発はできません。エンジニア自身もユーザーが実際にどのようにプロダクトを利用するのか、現場にはどのような課題があるのか、営業やCSは何を求めているのか、といった多角的な情報を理解する必要があります。

プロダクトへの要求を超える

任されたことをするだけではなく、私たちは常に付加価値を上乗せしたアウトプットを目指しています。そしてそれは、リリース時期の短縮だったり、ユーザーが期待する一歩先の機能や仕様を提案したりと、基本的な要求に加えてさらに20%の努力で120%の価値を生み出すといった結果に繋がると考えています。

「視野を広げる」と「要求を超える」が織りなすチームの文化

私たちは、「視野を広げて、プロダクトへの要求を超える」というミッションを体現するために、積極的かつ広範囲にコミュニケーションを取り、互いに協力し合う文化を大切にしています。開発者一人ひとりがユーザー視点を持ち、ビジネスの状況を理解し、常にもう一歩先を攻めようとする姿勢が、Contract Oneの成長を支えています。

このように、Contract One の開発組織では、与えられた役割に捉われず、プロダクトの成長に貢献したいという意欲のあるエンジニアを支える文化があります。

先日公開されたインタビュー記事「視野を広げて、プロダクトへの要求を超える。クロスファンクショナルなContract Oneの開発文化」では、エンジニアとして複数の新規事業を渡り歩いてきた山邊直也が、Contract Oneでのチームビルディングや、開発メンバーが日々どのように営業・CSと連携しているかを具体的に語っています。

  • Bill One で小規模から大規模への成長を体験したエンジニアが、いまContract Oneでどんな課題と向き合い、どんな組織づくりに挑戦しているのか
  • 「みんながリーダーになれる」というContract One独自のチーム文化
  • AIエージェントを即座に導入できる技術投資の自由度の高さ

などが具体的に紹介されているので、入社後のリアルな働き方をイメージするうえでぜひ参考にしてください。

jp.corp-sansan.com

Contract Oneエンジニアの1日に密着した記事

さらに、新卒入社2年目ながら、チームのプロジェクトリーダーを任されている髙野氷河の1日に密着取材した記事も公開しました。出社直後から業務後のLT大会まで、リアルな働き方を見ることができます。

note.com

記事内のインタビューのQ&Aでは、「出社頻度や非エンジニアとのコミュニケーション」「ドメイン駆動設計に関するチーム勉強会」「OSSや外部イベントへの参加」など、エンジニアのリアルな働き方が語られています。 若手エンジニアがリーダーを任された背景や、社内勉強会を活用したスキルアップ方法など、Contract One独自のカルチャーが詰まった読み応えのある記事になっています。

さいごに

Contract Oneは、契約データベースという新しい領域に挑戦し続けるプロダクトです。リーガルテックという競合が多い業界で、私たちは単なる「契約業務の効率化」を超えて、企業が積極的に契約データを活用する世界を目指します。そのためにも、常に新しい視点を探して、新しいチャレンジをしていくことになるでしょう。

エンジニアとして、新しい技術への挑戦、プロダクトの成長、そしてユーザーの課題解決に情熱を持って取り組める環境が、ここContract Oneにはあります。そして、他社には真似できない価値を生み出すための武器として、Sansanや言語理解研究所による独自技術やデータ資産もあります。

もし、技術的な挑戦を楽しみ、ユーザーに対してまったく新しい価値を届けることに情熱を持っているなら、Contract Oneで一緒に働いてみませんか?私たちと共に、契約データベースの未来を創っていきましょう。

カジュアル面談を実施しています

Sansan技術本部では中途・新卒採用向けにカジュアル面談を実施しています。「リアルな現場の話を聞いてみたい」「どんなチームなのか知りたい」という方は、ぜひエントリーをご検討ください。

https://docs.google.com/forms/d/e/1FAIpQLSc7MFPypYZVh_pIfyT46-Va1nk-tlpnw7_y-nrcKS5Zjm-1lQ/viewform

© Sansan, Inc.