2020の夏の終り、我々は2年半にも及んだ巨大プロジェクトのリリースを終えました。
喜びよりも先に胸に去来したのは、今後絶対にビッグバンリリースは避けようという決意でした。
元を辿るとプロジェクトの目的はミドルウェアのEOL対策です。
しかし、既に開発が長年止まっているものがあり、全く別のミドルウェアを選択しなければいけなくなったり
その結果、アーキテクチャを変えたりXXを変えたりというのが複雑に絡み合い巨大化、凶暴化していきました。
ミドルウェアのVerupは細かくこまめに行うべき!!
そこで、Renovateという自動でライブラリやミドルウェアのUpdateを検知しプルリクを作ってくれるツールと
GithubActionsを組み合わせて強制的にスプリントの中にUpdateタスクを追加していきました。
その結果、エンジニアリーダーへのプルリクがたまりまくる問題が発生しました。
そのためコードオーナーを設定し、コードオーナーとランダムに選ばれたメンバーがレビューするように変えました。
また、GitHub APIを使ってメンバーごとに溜まっているPR数を可視化しお互いに声を掛け合うようにしました。
このようにして徐々に進んでいきましたが、新メンバーのOnboardingにもちょうど良いサイズのタスクということで
Onboardingにも取り入れました。
また外部仕様や内部仕様や関係者など、プロダクトを効率的に学習してもらうためプロダクト理解度テストというものをはじめました。
これはシニアメンバーが問題を作成するのではなく、学習中のメンバーに問題も作成してもらうことで
よりチームとしてこの精度を運営できるようにしました。
また、その達成率を各自の目標設定に組み込んでもらったのですが
個人ベースで設定、管理されていた個人目標をチーム内で共有し一緒に考えることで
より効果的に目標管理ができるよう話し合っている最中です。
ここまでの一連の流れを、シニアエンジニア2名と一緒に振り返りながら皆さんにリアルなところをお伝えできればと思っています。