PTAアドベントカレンダー3日目の記事です。
サイバーエージェントグループ、株式会社AJAでAJA SSPのプロダクトマネージャーをしている@_tarofです。
入社直後に事前登録がはじまったゲームがついにリリースされた今年ですが、もうこの季節がやってきました。
今回は、チーム開発をする上で、開発環境を改善するためにチーム内で行っていることをいくつかご紹介したいと思います。
開発環境とは、ここでは開発のしやすさ、といったものだと考えてください。
テスト環境の改善
事の発端は、一部の入出力を変更する際に数千行にわたるテストケースのメンテナンスが必要だったことです。
テストの件数に比して、Mockをふんだんに使ったテストや、出力の全ての整合性を確認をするやり方など、いくつか改善可能な点があったため、思い切って大規模に書き換えました。
こちらは、まだ改善の途上と言ったところで、引き続き隙間の時間でリファクタリングを続けて行く予定です。
テストの高速化
AJAではCircleCIを使用してテストを行っているのですが、テストが通らなかった際など、CIに掛かる時間が遅い場合にがそのまま時間ロス(+クレジット消費)に繋がることがあります。
(し、長い時間を掛けて動いたテストが途中で転けるのは精神的にくるものがありますね。)
微々たるものですが、改善することで開発効率があがっていきますので、こういった部分も積極的に対応をしていきます。
管理画面のリファクタリング
現在の管理画面は昨年リリースしたものとなっていますが、当初はAPIの実装の規則や、フォームの実装方法などが各実装者によってマチマチでした。
そのため、新しいページを作る際にも、いろいろなつくりのページが乱立する状況となっていました。
初速をあげるためには各々の裁量で開発することはいいことですが、どこかでルールを作った方が後々のメンテがしやすくなったり、再利用性があがってくるので、少し時間を取ってでもリファクタリングするのは良いことかと思います。
まとめ
あまりまとめることはないのですが、ともすれば後回しとなってしまいそうなことも、積極的に対応していくことで、メンバーの心理的安全性の確保であったり、あるいは保守性の向上といったことは、後々の開発・保守コストを下げることにも繋がるので、今後も重視していきたいと考えています。