# プロジェクト概要
金融機関のDX推進計画の一環として、デジタル接点の強化を目的とした大規模ポータルサイト構築プロジェクトに参画。自社内製パッケージを活用し、顧客のビジネスニーズに合致する金融機関向けポータルサイトを構築しました。本プロジェクトにおける私の貢献により、**約半年の納期短縮**を実現しました。
## プロジェクト規模
総勢21名の大規模開発体制をリードしました。(PM: 1名、アプリ開発T: 10名、認証認可T: 2名、インフラT: 2名、QA T: 4名、デザインT: 2名)
※ビジネスサイドの関係者を除く
## 役割と貢献
本プロジェクトにおいて、私は**アプリケーション開発チームのリードエンジニア**として、以下の多岐にわたる役割と貢献を果たしました。
* **開発チームの統括とリード**: 10名のアプリケーション開発チームを牽引し、メンバーのディレクション、開発スケジュールの策定と管理を担当しました。
* **要件定義からリリースまでの一貫した推進**: PMと密に連携し、金融機関との要件定義から基本設計、詳細設計、実装、運用設計まで、開発プロセスの全フェーズを主導しました。
* **設計・実装**: 元となったパッケージを大幅に見直すことになり、変更に強いかつ容易な構成とするため、クリーンアーキテクチャを使用して依存の方向性とテスト容易性を実現しました。またBE,FEのインターフェース不整合によるバグの発生を抑止するためにスキーマ駆動の設計を採用しBEのopenapiのスキーマ定義をFEのAPIインターフェースの型として共用、これによりBE、FE間のインターフェース不整合を防ぐような強制的な仕組みを導入しました。
* **部門横断的な調整と連携の主導**: アプリケーションの構築がプロジェクトにおいて最もリソースを要し、**実装全体の約8割を占めるメインストリーム**であったため、アプリケーション開発チームが他チームとの調整を主導する必要がありました。この中核を担うチームのリードとして、認証認可、インフラ、QA、デザインチームとの連携を密に行い、プロジェクト全体の円滑な進行に大きく貢献しました。
* **組織体制の強化と戦略的な人材採用**: プロジェクト推進に必要な人員計画を策定し、社員および業務委託メンバーの採用活動にも積極的に関与しました。特に、**技術スタックの一致**に加え、プロジェクトの特性上**カオス耐性に優れた人材**を選定することで、予見された困難な状況下でも高いパフォーマンスを維持できるチームビルディングに貢献しました。
## プロジェクトにおける挑戦と解決策
プロジェクト発足時の遅れての参画や複雑な状況下で、以下の主要な課題を解決し、**約半年の納期短縮**という具体的な成果に繋げました。
* **タイトなスケジュールとスコープ調整、および納期短縮の実現**:
* **課題**: 開発始動時からの参画となり、既にタイトなリリーススケジュールが合意されていたため、全体像が見えない中での進行が求められました。
* **解決策**: 未経験であった内製ポータルサイトパッケージのキャッチアップを迅速に行い、**スプリントでのベロシティを算出し、当初設定されたマイルストーンから逆算**することで、現実的な開発工数を算定しました。その結果、現状の人員では当初のリリーススケジュールに間に合わないことが判明したため、直ちに社内と連携し**人員増強を推進**しました。さらに、顧客との交渉を通じてリリーススコープを3段階のフェーズに分割することに合意。これにより、**段階的なリリースと約半年の納期短縮**という大きな成果を実現しました。
* **技術負債の解消とリプレースプロジェクトの引き継ぎ**:
* **課題**: 当初パッケージのカスタマイズで要件を満たす予定でしたが、既存パッケージが技術負債を抱え、そのリプレースプロジェクトが社内優先度の都合で停止していました。
* **解決策**: 停止していたリプレースプロジェクトを私が引き継ぎ、今後の横展開も考慮した改修を実施しました。結果として相当なリソースを投じましたが、将来的なビジネス展開を見据えた必要投資として、PJメンバー全員でその価値を認識しました。
* **外部サービス連携の複雑性と安定化**:
* **課題**: 金融機関の基幹系システムとの連携において、暗黙的な仕様や不安定な接続、さらには基幹系システム開発ベンダーとの調整の困難さがプロジェクトのボトルネックとなっていました。
* **解決策**: ベンダーと密に連携し、同期的な接続試験を頻繁に実施することで品質を向上させました。さらに、定期的なMTGを設定し、不明瞭な仕様を徹底的に洗い出し、明確化することで、連携の安定化と信頼性の向上に努めました。