事業開発に伴走する、プロダクト作りの方法論と技術戦略
現在、BPaaS事業は、実際にサービスを提供しながら経験を積むフェーズに入っている。すでに「Chatwork アシスタント」という業務プロセス代行サービスを提供しており、並行してBPaaS窓口のWebアプリ開発も進めている。
BPaaS窓口の開発では、段階的なアプローチを採用した。つまり、いきなり内製のWebアプリを開発するのではなく、まず既存ツールや人手のオペレーションを組み合わせてサービスを構築するということだ。
例えば、「Chatwork アシスタント」の裏側では、顧客情報や契約内容の管理、決済システムなど、複雑な業務が動いている。また業務を代行する人材(クルー)が、どの仕事に割り当てられているか、誰が現在アサイン可能かといったクルー管理も必要だ。加えて、BPaaSは時間課金制なので、システム上で作業時間を管理し、最終的に事業の売り上げとして計上する必要がある。
BPaaS窓口の開発にあたって重視しているのは、単にこれらの業務フローをアプリ化することではない。サービス運用の過程で課題を発見しながら、サービスの磨き込みと並行してWebアプリの実装を進める。そうすることで、新機能の実現や業務のさらなる効率化を目指していると、平本氏は言う。まもなくリリースされるBPaaS窓口のWebアプリでは、顧客向けUI・社内向けUIを整備し、システム上でこれらの複雑な業務を一気通貫で管理できるようになる。

続いて、BPaaSを支える技術について紹介する。技術戦略の前提として平本氏が強調したのが、BPaaSプロダクトの概念も定まっていない中で、ゼロから事業と組織を立ち上げねばならなかった点だ。
「いわば0→1(ゼロイチ)フェーズなので、探索しながらプロダクト開発を進めねばならず、フロントエンドエンジニアやバックエンドエンジニアが何人必要かといった見積もりも難しかった。そのため、技術スタックや開発プロセスは、走りながら決めていった」(平本氏)
そこでkubellは、技術戦略の策定にあたり、小人数で幅広く適切なスピード感で開発できること、既存メンバーの技術スタックを考慮することを重視した。具体的な方針としては、コモディティ化した技術は、マネージドサービスを積極的に選択すること。認証・認可基盤など全社共通基盤が整備されているものは、既存のものを活用すること。また「Chatwork」をはじめ、多様なプロダクトとの連携が必要なので、将来の外部連携を想定したAPI設計を進めることなどが挙げられる。
その結果、現在の技術スタックは以下の構成を取っている。まずフロントエンド、バックエンド、IaCすべてにおいて開発言語をTypeScriptに統一することで、エンジニアがフルスタックで活動しやすくした。インフラ環境はAWSを軸に、AWS AmplifyやAWS Fargateなどのマネージドサービスを積極採用している。他社SaaSについては、認証基盤には既にChatwork IDや社内システムでも利用実績があるAuth0とOktaを、決済には将来的な商品ラインナップの変化に柔軟に対応できるStripeを採用した。UIデザインにはStorybookやFigma、CI/CDにはAWS CDK、GitHub Actions、Playwrightなどを活用しているという。
