【無料電子書籍】日本ITオフショア開発の 俯瞰・動向「2024年版」
【無料電子書籍】日本ITオフショア開発の 俯瞰・動向「2024年版」
もっと見る

Ruby on Rails とアジャイルスクラムを活用し、 ユーザー約50万人規模のシステムにおける バックエンド開発を50%効率化した事例のご紹介

1月 6, 2025
Ruby on Rails

お客様は、AI、IoT、ビッグデータプラットフォーム分野で市場をリードする企業として、革新的な技術、サービス、ビジネスモデルの開発に注力されています。同社が進めた、パートナー企業向けのモバイルデバイス管理(MDM)システムの開発プロジェクトでは、約500社のパートナー企業、各社約1,000人の従業員、合計約50万台のデバイスを管理するシステムの構築において、さまざまな課題に直面しました。

このプロジェクトでは、IT管理者向けに設計されたウェブサイトを通じて、カメラやマイク、アプリケーション、その他のデバイス設定を効率的に管理する機能を提供することを目指しました。また、GoogleのAPI(アプリケーションプログラミングインターフェース)との統合により、リモートでのデバイス管理を可能にし、管理効率の大幅な向上を実現する必要がありました。

実施時の課題とVTIの対策

プロジェクトの規模が大きく、サードパーティAPI(Google)の依存があったため、以下のような課題が発生しました。

  • データ同期時の大量リクエスト:VTIは、負荷テストを実施し、データの信頼性を確保するために問題を徹底的に調査しました。
  • Google APIへの依存:継続的なテストを通じて問題を早期に検出し、迅速にGoogleへ報告しました。
  • Googleポリシーの頻繁な変更:ポリシーを積極的に監視し、変更に対応することでコンプライアンスを維持し、運用の中断を防ぎました。
  • 高負荷環境でのリクエスト処理:多数の同時リクエストに対応できるよう、スケーラブルなテストサーバーとスクリプトを準備しました。

VTIの技術戦略とプロジェクト体制

VTIは、システムの2つの主要な機能フローに基づき、デリバリーチームをFMD(Fully Managed Device)チームDD(Dedicated-Device)チームの2つに分け、それぞれが明確な役割と責任を持つ体制を構築しました。

Team 1: FMDチーム

FMD (Fully Managed Device) Functions

  • バックエンド:データベース設計、モバイル向けAPIの作成、フロントエンド用APIの開発を担当。
  • フロントエンド:ユーザーインターフェースや画面の構築を担当。
  • モバイル(Android):APIを通じて設定を受け取り、管理アプリを介してデバイスに適用

Team 2: DDチーム

DD (Dedicated-device) Functions

  • バックエンド:データベース設計、フロントエンド用APIの開発、およびGoogle APIを活用した設定の適用を担当。
  • フロントエンド:ユーザーインターフェースや画面の構築を担当。
  • モバイル:Googleによりデバイス管理が完全に行われるため、開発は不要。

Rubyと Ruby on Rails の活用で開発時間を50%短縮

本プロジェクトでは、効率的な開発と安定したシステム運用を実現するために、最新の技術を活用しました。

  • バックエンド:迅速かつ効率的な開発が可能なRuby on Rails(RoR)を採用。「Convention over Configuration(設定より規約)」という原則と豊富なGemsエコシステムの活用により、他のフレームワークと比較して開発時間を50%短縮。
    ⦁ データベース:
    MySQL、Redis、MongoDB
    ⦁ フロントエンド:
    HAML、CSS
    ⦁ モバイル(Android):
    Java

プロジェクト規模

  • チーム規模:16名
    • BrSE(ブリッジSE)
    • 開発者(バックエンド、フロントエンド、モバイル)
    • テスター
  • 期間:2022年1月~2023年6月
  • アウトソーシングモデル:オフショア・オンショア
  • 開発手法:アジャイル・スクラム

VTIのアジャイル・スクラム活用方法

プロジェクト全体でアジャイル・スクラムを一貫して適用し、各スプリントは約2週間で実施されました。

  • プランニング:顧客がスプリントごとに必要な機能リストを提供し、チームが要件分析、データベース設計、タスク割り振りを実施しました。
  • デイリースクラム:日次会議で進捗を共有し、課題解決や優先順位の確認を通じてリスクを軽減し、チーム内の透明性を向上。
  • レビュー:各スプリント終了時にセッションを開催し、完了したタスクを評価。各機能を個別にテストしてからシステム全体に統合することで、期待通りに動作することを確認。
  • レトロスペクティブ:成功と課題を振り返り、次のスプリントでプロセスを改善するための洞察を共有し、継続的な改善を実現。

Ruby on Rails とアジャイル・スクラムで成功を実現

VTIは、Ruby、Ruby on Railsの高い開発効率と、柔軟性のあるアジャイル・スクラム開発手法を組み合わせることで、スピーディーかつ効率的な実装プロセスを確立しました。この組み合わせにより開発時間を半分に短縮しながらも、積極的な課題解決と一貫した品質の維持を実現しています。

アイデアをより迅速に、より賢く、より効率的に実現したいとお考えの方は、ぜひVTIにご相談ください。皆様のプロジェクトを次のステージへ導くお手伝いをいたします!

事例