文書管理 SaaS

実務

プロジェクト概要

  • 請求書や契約書などのファイルにメタデータを付与して管理する中規模法人向け自社 SaaS

担当フェーズ

  • 要件定義、基本設計、詳細設計、実装、単体テスト、結合テスト、運用保守

技術スタック

OS

  • Linux系(Google Cloud Platform マネージド環境)

言語

  • Java(JSP)
  • JavaScript
  • HTML
  • CSS
  • Google App Script

DB

  • Cloud SQL(MySQL)

その他ミドルウェア、サーバー等

  • GCP(App Engine, Cloud Tasks, Cloud Scheduler, Cloud Logging)

役割・規模

  • 役割: リードエンジニア
  • プロジェクト規模: 要員1名(全体4名)

業務内容

  • 営業経由で受けた顧客要望を基に、機能要件・非機能要件をほぼ単独で策定し、社内承認を得て開発を推進
  • データベース設計とデータアクセス処理の実装
  • 画面デザインとユーザー操作に応じた動的な表示更新の実装
  • 定期的な自動処理と、時間のかかる処理を裏側で実行する仕組みの実装
  • Google アカウントによるログイン機能と Google Drive との連携実装
  • セキュリティ診断ツールを活用した脆弱性対策(不正アクセス防止等)の実装
  • システムログを活用した監視・運用体制の構築 ・AI を活用した文書の自動読み取り機能の実装

実績・取り組み等

工夫したこと、そのような工夫をした理由

  • 大量のファイルを一括で処理する機能(特に AI による自動分析)を、裏側で実行される仕組みに変更し、AI の分析結果や処理状況をユーザーが確認できるログ機能を実装した。処理中にファイル数が変わっても処理が継続できる仕組みを構築した
  • 電子帳簿保存法に特化した設計から、より多くの企業で使える汎用的な設計への作り直しを主導した。既存ユーザーのデータ利用状況を分析し、専用設定を初期設定として提供することで、既存ユーザーの使用感を維持しながら汎用化を実現した
  • 外部の文書読み取りサービスから自社の AI 機能への置き換えを実装し、精度を維持しながらコスト削減を実現した
  • これらの工夫を行った理由は、システムの処理時間制限を回避して大量ファイル処理を可能にしつつユーザーが他の操作も並行してできるようにするため、法規制の緩和に伴う事業戦略として新規顧客を獲得するため、外部サービス依存を減らしてコストを削減するため

直面した問題

  • 電子帳簿保存法に特化した設計から汎用的な設計への変更が必要になったが、専用的な設定項目や画面を汎用的にする必要があり、既存ユーザーの使用感を損なわないようにする必要があった
  • ファイル数が多い場合、通常の処理方法ではシステムの制限時間内に完了できず処理が失敗していた。また処理中はユーザーが他の操作ができず、処理状況も見えないため不安を与えていた
  • Google が定めるセキュリティ基準(CASA 基準)を満たす実装が必要で、Google Drive 連携機能を使用するため毎年のセキュリティ審査が必須であり、診断ツールで検出された問題への対応が必要だった

問題を解決するために行った施策、解決策

  • 既存ユーザーが使用しているデータを分析し、それに合わせた自動処理を組んで新しいデータ構造に移行した。専用設定を初期設定として提供することで、既存ユーザーは従来と同じ使用感を維持しながら汎用化を実現した
  • 時間のかかる一括処理を裏側で実行される仕組みに変更し、長時間処理が可能な処理方式に切り替えることで制限時間を回避した。AI の分析結果や処理状況を記録するログ機能を実装し、処理の可視化を実現した
  • セキュリティ診断ツールを使用して問題点を洗い出し、不正アクセス防止などの対策を実装して Google が定める審査基準を満たす対応を実施した

その解決策を行った理由

  • 法規制の緩和により汎用型への転換が事業戦略上必要だったが、既に利用している顧客の使用感を損なうとサービスの信頼性が失われるため。データ構造の変更が必要だったが、既存ユーザーには気づかれないよう移行する必要があった
  • 大量のファイルを処理する際、通常の処理方法では制限時間内に完了できないため、長時間処理が可能な別の処理方式に切り替える必要があった。ユーザーが処理中に他の操作もできるようにし、かつ処理状況を可視化することで不安を軽減し、使いやすさを向上させるため
  • Google が定めるセキュリティ審査は Google Drive 連携機能を使用するための必須条件であり、通過しなければサービス提供ができないため。実装後に他のエンジニアとコミュニケーションを取り、セキュリティ対策の知見を社内に浸透させることで、今後の他プロジェクトでも同様の対応ができるようにするため

成果(工夫や解決策を実施した後の成果)

  • 電子帳簿保存法特化型から汎用型への再設計を 3 ヶ月で完了し、既存ユーザーの使用感を維持しながら新規顧客の獲得に成功した。既存ユーザーからの大きな問い合わせもなく移行を完了
  • 一括処理を裏側で実行する仕組みに変更したことで大量ファイルの処理が可能になり、処理中でもユーザーが他の操作を継続でき、ログ機能で処理状況を確認できるようになり使いやすさが向上した
  • AI 機能の導入により外部の文書読み取りサービスの契約が不要となり、一社あたり年間約 30 万円のコスト削減を実現した
  • Google が定めるセキュリティ審査を 2 年連続で通過し、Google Drive 連携機能の利用条件をクリアした。セキュリティ対策の知見を他のエンジニアに共有し、社内の技術力向上に貢献した
  • エンジニア 1 人での開発を完遂し、顧客獲得まで実現できたことが大きな達成感となった