オートスケーリングで500名同時稼働のCSVダウンロードを実現
1. プロジェクト概要
BPO業務向け申請審査受付システム開発
民間企業に委託されるBPO業務を円滑に進めるためのシステムを開発しました。
本システムの目的は、BPO業務における申請受付から審査、交付決定までのプロセスを一元管理し、申請者の手続きを簡便化することです。
これにより、申請から交付決定までをスムーズに進行でき、短期間での給付金交付が可能となります。
2. 背景と課題
現行のシステムは、各制度ごとにスクラッチ開発を行っており、短納期の中で無理な工程での開発が続いてきました。
また、運用中に改修依頼が多発するため、プログラム改修を繰り返し、システム品質への影響が懸念されています。
さらに、情報の一元管理や情報共有、システムの効率的運用が十分に行われておらず、業務の遂行に支障をきたしている状況です。
これらの課題を解決するため、汎用性の高い新たなシステムの刷新・構築・開発を行うものです。
3. 開発内容
webシステム
バックエンド側
- PHP(Laravel)
フロントエンド側
- JavaScript(Vue.js)
インフラ (一部抜粋)
- AWS Amazon S3
- Amazon Lambda
- Amazon SQS
- Amazon RDS Aurora MySQL
- Amazon DynamoDB
- Amazon Cognito
4. 開発プロセスと体制
本システムは大規模かつ短期間での開発が求められるため、顧客とワンチームを形成し、設計後即座にプロトタイピングを行う方式を採用しました。
完成した部分から順次リリースし、フィードバックをもとにブラッシュアップを重ねるアジャイル開発に近い手法です。
また、ドキュメントなどの成果物には重きを置かず、デリバリーを最優先する方針とし、迅速な作り込みに注力しました。
5. 課題と解決策
デリバリーを最優先とする中、システムをゼロから2ヶ月で立ち上げ、運用に乗せるという厳しいスケジュールが課題となりました。
フェーズごとに必要なタイミングを見極めてマイルストーンを設定したものの、スケジュールは依然として厳しい状況でした。
この課題を解決するため、システム運用側と開発側が一体となって最低限の必要要件を洗い出し、受付機能を優先してリリースする方針としました。
後からサブ機能を順次追加する形で、細かくタスク調整を行い、なんとかリリースに間に合わせることができました。
6. 開発の成果と効果
非常に短期間での開発であったため、品質面が懸念されていましたが、運用開始から2年以上が経過し、申請者に明らかに影響を及ぼす不具合は2件のみであり、いずれも致命的な問題ではありませんでした。
特に金額計算部分には細心の注意を払い、テストを徹底した結果、コーディングレベルでの計算ミスや不具合も発生しませんでした。
期待以上の品質が保たれたことで、運用上の大きなトラブルもなく、BPO業務はスムーズに進行しています。現在も業務は順調に進められており、大きなクレームも発生していません。
7. 成功のポイント
スケジュール的に非常に厳しいプロジェクトでしたが、適切なタイミングでの増員判断や、リリース時に最低限必要な機能の精査、運用側とのスムーズな連携ができたことが成功のポイントでした。
リリースに必要な機能を厳密に見極めたことが、スケジュールを守る上で大きな要因となりました。
さらに、「最低限どこまで実装されていればよいか」という目標を開発・運用側で共有し、間に合わせるための一体化した体制と、互いの信頼関係を構築できたことも成功の重要な要因と考えています。