チームで技術的負債に向き合って、毎週改善に取り組んでいます!

この記事は「ウィルゲート Advent Calendar 2023」の 22 日目の記事です!

こんにちは、ウィルゲート開発室のことみん(@kotomin_m)です!!

ウィルゲート開発室の複数のプロダクト開発チームでは、毎週継続して技術的負債の解消に取り組むリファクタリングする時間(命名: リファクタリングデー)を設けています。 この記事では、その取り組み内容や成果についてお話します!

背景・なぜやるのか

数年プロダクト開発をしていると、技術の移り変わりや担当者の入れ替わりなど様々な理由によって技術的負債が溜まってしまうものです。

これはウィルゲートの自社プロダクトも例外ではなく、運用していくうちに技術的負債が溜まっていまう課題がありました。 そして日々の開発の中で、「ここ直したいんだよな、、」「このファイルもう使われていないんじゃない?」「ライブラリアップデートが出来ていないよね」と、様々な問題を抱えていました。

これらを改善するためには、改善するしかありません!

そこで、まずは毎週数時間、改善に取り組む時間を作ることから始めました。💪

リファクタリングデーの取り組み紹介

各プロダクト開発チームごとに、水曜日の13:30~15:30や、金曜日の15:00~17:00など時間を決めて開催しています!

この時間の中では、リファクタリングやライブラリアップデートなど、技術的負債の改善となるタスクに取り組んでいます。

また、チーム一丸となって向き合う時間となるように、モブプロ形式で開催しています。

各開発チームによって取り組み方は少し違うので、この記事では2チームの事例を紹介します!

1つ目の開発チームは、GitHub Issuesを利用して取り組んでいる内容を管理しています。月ごとにIssuesを作り、実施日ごとにコメントでログを残すようにしています。

ログにはリファクタリングデーでやったこと、調査したこと、次回やることなどを記載しています。

GitHub Issuesに残しているログ

今までに行った改善活動の一部を以下にピックアップします。

  • Dependabotのプルリクエストのマージ
  • スロークエリの改善
  • Composer 2 へのアップデート
  • PSR-4 に準拠していないファイル名・クラス名の修正
  • DBで利用されていないテーブルの削除
  • 障害対応再発防止のためのテストコード作成

2つ目の開発チームは、ログなどは残さず、リファクタリングデーで取り組むタスクをNotionで管理して実施しています。

Notionのタスク管理

このチームは利用されなくなった機能などのあたりをつけて、不要ファイルの削除に集中的に取り組んでいます。 実際に、3千行、2万行、40万行のソースコードが削除されたりと少しづつ綺麗になってきました!

プルリクエストの変更差分のスクリーンショット

おわりに

実際にやってみて、チームで開発することの楽しさや、継続して改善をすることの大切さを学びました。

普段の開発でペアプロやモブプロをする機会は少ないですが、この時間はみんなで行うようにしているので新鮮で楽しんで続けられています! また、継続して少しずつでも進めていくことで、数ヶ月経ってみるとたくさん改善してきたなと実感しました。

今後も継続してやっていきたいです!

ウィルゲート Advent Calendar 2023」、翌日はりさりささんによる「エンジニアが他部署とワイワイコミュニケーションをとる秘訣」です! お楽しみに〜〜!!