技術スタック:Ruby on Rails , Ruby, Mysql, AWS,Slim,SCSS
法人開発グループで主に金融機関様向けの資産管理サービスBFMを開発しております。
スクラムマスター兼バックエンドエンジニアとして、要件定義、設計、実装を行なっております。
# チーム構成
5名(業務委託2名、正社員3名)
# 役割
スクラムマスター
アプリケーションエンジニア(メンバー)
・企画側と相談、調整し、現在のシステム状況を加味しながら、開発スケージュールの作成
・スプリントバックログの作成、管理・ストーリーポイントによるチームパフォーマンスの見える化
・採用活動への参加(一次選考、リファラル採用、募集求人の作成)
・スクラムマスターとしてスクラムイベントの運営、管理、進行、障害要因の排除
・外注先、顧客とのタスクの確認、調整
・リリーサーとしてチケットのデプロイ、リリースの管理
・バックエンドエンジニアとして、実装、テスト
# 主なプロジェクト
クレジットカード連携機能の追加
【内容】
社内でマイクロサービス化されているクレジットカードのAPIからデータを取得し、連携機能を追加するプロジェクト
【課題】
銀行口座のみの連携からクレジットカードの連携を追加することで、ユーザーの資金状況の全体を見える化できるようにする
参加したタイミングで、進捗が芳しくなく見込みから1ヶ月弱ぐらい遅延しており、実装現状完了までのフローを認識できていなかった。
【解決策】
スクラム開発を導入して、完了までのチケットを分割し、miro,JIRAを活用しながら進捗を日次で見える化し、進捗を見える化しました。
実装面では、対象のデータのやりとりがマイクロサービス化されたAPI を介して行われていたため、dry-rb をいう gem を用いてオブジェクトの attribute を型定義し、API を介して取得されたオブジェクトと API を見える化しました。
アプリケーション規模も大きくなっていたので Rails way から離れリポジトリパターンを導入し、上記のdry-rb を用いてエンティティをしっかり型定義し、リポジトリ層 Service 層と責務をしっかり明記することでアプリケーションの見通しを良くしました。
またService層については複数のmodelに跨ったビジネスロジックを実装する場所として、チームの認識を揃え、コマンドパターンを導入し、servieの命名でどのような処理をしているものなのかを表現できるような命名にし、call()で呼び出せるようにしました。
【結果】
保守性の高いコードを、チーム全体を巻き込みながら、
納期内に実装することができました。
【表彰実績】
月間MVP
https://note.x.moneyforward.com/n/n66c3d74f4a7c?fbclid=IwAR1dD_tlIm7TPtrD5p9K3E_a_csTDl1ArdC5FMsvTdWHL3MQ8Lsi0aQUGpg