## 概要
キャンプ場検索予約サービスの開発を行なった。
## チーム構成
開発部全体11名 業務委託チーム4名
## 担当業務
- 既存システムのリプレイス
- 新規機能追加
- 既存機能の改修
- 業務委託メンバーのチームリーダーとして、タスク管理やメンバーのフォロー
## 経験
- サーバーサイドを素のPHPからLaravelへのリプレイス
- フロントエンドをsmarty,jQueryからNext.jsへのリプレイス
- リファクタリング
- 利用施設向けの新規サービス開発
- タスクのチケット化、工数見積、進捗管理
- コードレビュー
- 管理画面認証機能の仕様決め、改修
- 業務委託メンバーの採用面談
- 他部署と連携し、Figmaを用いての仕様選定
## 既存システムのリプレイス
### 課題
・仕様がドキュメント化されておらず、細かい仕様を誰も把握していない機能も多くあった。
・設計方針が統一されておらず、コードが共通化されていない。
・N+1問題等パフォーマンスに問題がある処理が多くあった。
### 解決策
・抽選キャンペーンやキャンプ場特集機能等、仕様が複雑なページについてはドキュメント化
・PMやBizと連携し仕様検討
・SQL、テンプレート、UIパーツ等共通化
・サーバーサイドのテストコード拡充
・Eager LoadによるN+1問題の解消
・キャッシュ利用によるパフォーマンスチューニング
・マルチステップフォームは非同期通信による画面遷移に変更
・React Hook Form導入により、フォームの実装の標準化
### 成果
既存機能を損なうことなく、コードの簡素化、品質の向上をすることができました。
パフォーマンス改善により、ユーザー体験の向上にも貢献いたしました。
仕様整理やドキュメント化により、エンジニア以外のメンバーも仕様を把握し、
リプレイスにあたって既存機能の使用改善もすることができました。
## 業務委託チームのリーダー
### 課題
業務委託メンバーの参画後、コードレビューや仕様のキャッチアップ、工数管理のコストが高くなっており、
プロパーの方のリソースを逼迫してしまっておりました。
また、フルリモート環境でコミュニケーション量が少なく、相談がしづらい問題もありました。
### 解決策
・コードレビューによる品質の担保、メンバーのフォロー
・プルリクエストのテンプレートを標準化
・工数、完了条件をチケットに記載の上メンバーにアサイン
・週例で1週間のタスクを振り返り課題を共有するMTGを実施
・Gather導入
・Slackに個々人のtimesチャンネルを開設
### 成果
チームとして開発効率が高まり、成果物の品質が向上しました。
また、コミュニケーションを密にとる事により、チームの心理的安全性の向上にも貢献いたしました。