特定機能の運用負荷軽減
特定の機能でコードの複雑性、社内知見の不足により、開発/運用負荷が高く組織が疲弊している課題がありました。 (調査にエンジニアのリソースが1週間消費される事もあったと聞いていました) また課題感の共通認識はあったものの、具体的な対応は何もされていない状態が続いていました。 そこで、運用体制を決定し実行するまでをファシリテートしました。
やった事
お問合せ体制を以下の様に変更し対応不可の軽減を行いました。
- お問合せ調査は1人をslackのランダムbotで決定する
- botで指定されたメンバーと私の2人でペアで調査 - リリースまで行う。
大きな狙いは、ペアで行う事での対メンバーへの負荷軽減とナレッジの共有です。
合わせて、コードの複雑度を下げる改善を行いました。 テストコードが存在しないかつ、非常に複雑なコードだった為、 大きな改善後にバグ発生する可能性がある事をCTOに説明した上で合意を頂き対応しました。
- ローカル環境で開発できなかった部分を開発可能にした
- デッドコードの削除
- リファクタリング
- 1700行の巨大クラスに集約されていた処理をを責務毎にクラス抽出。その後、巨大クラスを削除
- 合計5000行を削除
結果
実際にいくつかバグは発生してしまいましたが、非常に短い時間で修正しました。 改善後は調査に数日を要するお問合せ対応は発生していません。 また、運用負荷が非常に下がり組織の疲弊も解消されました。