過重労働リニューアルプロジェクトの振り返り
こんにちは!サーバーサイドエンジニアのメグミです!
今年の9月にリリースされた、過重労働機能のリニューアル!
これは私がiCAREに入社してはじめての大きなプロジェクトでした。
今更ですが、このプロジェクトを通して感じたことをまとめたいと思います。
この記事で書くこと
プロジェクトを進めていく中で感じたことや考えたことについてまとめています。
技術的な内容については書きません。
チーム
サーバーサイドエンジニア:1名(私)
フロントエンドエンジニア:2名
やったこと
ざっくり、以下のことを行いました。
- UIの共通化
- 複数のタブに情報が分かれていたものを統合(残業時間管理、疲労蓄積度チェックリスト回答状況、未回答者、回答者)
- フィルタやキーワードなどの条件を指定することで全てのレコードを閲覧・操作できるようにする
- フィルタや表示項目を追加
- 残業時間情報のメール送信機能を追加
- 残業時間ダウンロードの項目を追加
- 各機能のバックグラウンド処理化
- 残業時間アップロード
- 残業時間ダウンロード
- 疲労蓄積度チェックリスト送信
- 疲労蓄積度チェックリスト送信リマインド
- バックグラウンド処理画面の追加
- バックグラウンド処理履歴の一覧や処理結果をUIから確認できるようにした
開発する中で良かったことや悩んだこと
私自身、初めての大きな開発プロジェクトでした!!
嬉しい反面、不安しかない状況で以下の壁にぶち当たりました。
工数が見積もれない
悩んだこと
開発自体の経験が浅いため自分がどれくらいで実装できるかが全く見当がつきませんでした。
こうして解決した
画面別に機能を洗い出してざっくり予想してみる
とりあえず、どんな画面があって、どんな処理があるのかを既存の機能を確認し書き出しました。
細かい単位で考えて、おそらくこれくらいだろうという予想をし着手日と完了予定日を決めていきました。
スケジュール
もちろん、そんな見積もりは正確ではありません。
プロジェクトが終わってみて振り返ると結構日数がかかってしまった機能もありました。
正確な見積もりはできませんでしたが、開発の終盤になってくるとなんとなく予想がつけられるようになり、
他の業務の分もバッファをもたせることも考慮して、今後に活かしたいと思いました。
実装に時間がかかってしまう
悩んだこと
自身の技術スキルが乏しいため、わからない部分も多く実装に時間がかかってしまう場面があった。
こうして解決した
別のチームと合同でレビュー会を行った
週に一度、別の機能開発をしているチームと合同で
前回から前日までに実装した内容を全員で軽くレビューする会を設けました。
良かったこと
- 実装方法などについて複数人からアドバイスを貰える。
- 機能をまたいだ確認ができるため、UIの統一や確認すべきことを早期発見できる。
- レビュー漏れがあった場合などに気づきやすい。
フロントエンドエンジニアとの情報共有
悩んだこと
- フロントエンドエンジニアがほしい情報がわからない
- どのように共有したらお互いやりやすいかわからない
こうして解決した
デザイン・GraphQL情報などを管理して共有
開発していく中で必要な情報を一つのスプレッドシートで管理しました。
GraphQL情報
サーバーサイドで定義したタイミングでQuery、Mutation情報を更新。
url
良かったこと
- サーバーサイドでどんなQueryを定義しているか確認しやすい。
- フロントエンドで必要としている情報がない場合や不備があった場合に指摘してもらいやすい。
- Queryの変更が発生した場合も一つのデータを更新すればいいため効率よく情報共有ができる。
さいごに
以上、過重労働機能をリニューアルして、つまづいたことや考えたことについてでした。
入社してはじめての大きなプロジェクトだったのでたくさん悩んだり他のメンバーに相談したり、
貴重な経験ができました!まだまだ改善すべきところも多いですが、今回学んだことを踏まえて今後に活かしていきたいと思いました。
おわり