# プロジェクトの目的
デジタル化、コロナに伴う外部環境の変化に対応するために、証券会社の顧客接点の強化を目的とした営業プラットフォームを構築する。短期リリースを目的に、AzureのPaasサービスをフル活用したシステムを構築する。
# 実施期間
8か月
# 人数
- アプリアーキチーム:3~5名(所属)
- アプリチーム:6~8名
- インフラチーム:2名
- PMO:3名
# 利用技術
- Vue.js
- C#
- AzureFunctions
- APIManagement
- .NETFramework
- AzureADB2C
- SQLServer
# 役割
アーキチームのリードとして、開発工程における顧客折衝、チーム間調整、チーム内のマネジメントを実施しつつ、自らもサブシステムの開発を担当。具体的なタスクとして下記を実施。
- ビジネス要件、システム要件に基づいたマイクロサービス定義(サブドメイン定義、サービス分割方針と運用)の整理
- 技術選定(SPAFWの選択、開発言語の選択)
- ユーザー登録、認証認可(OpenIDConnect)の要件定義、設計、共有設計と実装
- アプリケーションアーキテクチャ全体構成(DI定義、クラス分割定義のルール策定)、共通部品の設計(メール送信、ログ要件、コード値定義、例外処理、多言語処理、ライブラリ選定)
- テスト管理、リリース作業
- チームメンバーの管理、設計書・コードレビュー
- クライアント折衝、対外チーム調整
# 成果
- 未経験技術をキャッチアップしながら思考錯誤し、大きな後れなく開発期間4か月でのリリースに成功できたこと。
- SPA+マイクロサービス(API)の実装に伴い、サービス追加などの保守性、拡張性の高いシステム構築ができたこと。
# 課題と工夫した点
①マイクロサービスの導入における課題
クライアントの複数ビジネス部門が異なる機能要求を持つため、マイクロサービスアーキテクチャが採用されたがメンバ、クライアント、関係者ベンダ含めマイクロサービスを知らない人員が多く、モノリシックベースの考え方による設計の齟齬が発生した。
「説明会の実施」を複数回行うこと、共通の設計標準を作成することでアーキテクチャに即した開発ができるような工夫を実施した。
②有識者退職・不在と若手メンバーの育成
アプリアーキチームの有識者退職に伴い、自身の稼働確保とメンバー独力で動いてもらうため、下記施策を実施しメンバーの得意分野の確保とチームの生産性向上に努めた。
- タスクの完結性を意識したアサインによる得意分野の構築
- 内発的動機付け(本人の希望)を意識したタスクの割り当て