最初からブレていない目標がある。私が暇になること。
「暇になる」というのは怠けたいわけじゃない。今やっていることを誰かに渡せれば、次の新しいことを自分が先行して始められる。そして後に続いてくれると信じている。
ベンダー引き継ぎ以来、ずっと一人でやってきた
コードレビューは、ベンダーからシステムを引き継いだ日から今まで、自分がやってきた。
チームに未経験の2人がいる。教えながら育ててきたが、コードの品質を担保する最終判断は自分がやる以外になかった。全部のPRを自分が見て、自分が承認して、自分がマージする。それが何年も続いた。
ボトルネックは自分だとわかっていた。でも他に選択肢がなかった。
最近、少し変わった
数ヶ月前から、先輩の部下にコードレビューを任せ始めた。最初は自分と二重でレビューしていた。彼女のレビューを確認してから、自分もレビューしてマージする形だ。
それが最近になって、検証環境へのマージは彼女の承認だけで通せるようになった。mainブランチへのマージは今でも自分がやっているが、一段階、手が離れた。
小さい変化に見えるかもしれない。でも3年間ずっとボトルネックだった自分から、初めて一部が剥がれた瞬間だった。
次のステップはAIに渡す
人に渡すのと並行して、AIに渡すことも進めている。
今やっていることと、これからやることを段階で書くとこうなる。
ステージ1(実施中):結合試験の自動化 手動でやっていた結合試験をCI上で自動化する。「テストが通ればマージできる」という状態に近づける。
ステージ2(次):AIによるコードレビュー PRが出たタイミングでAIが一次レビューを行う。命名・重複・潜在バグ・セキュリティの観点を自動でチェックする。人間のレビューは設計判断に集中できる。
ステージ3:マージ段階での不具合検知 mainへのマージ前に自動で不具合を検知する仕組みを作る。品質ゲートを自動化する。
ステージ4:開発フロー全体の自動化 可能な限り、一連の開発フロー自体を自動で回せる状態にしたい。
個人のスキルに依存したレビューを、ルール化・平準化して仕組みに変える。そうすれば、自分がいなくても品質が保たれる。
「私がいなくても回る組織」がずっとゴール
内製化を進めたのも、未経験の2人を育ててきたのも、AIを使った自動化に取り組んでいるのも、全部つながっている。
どれも「自分がボトルネックであることをやめる」ための行動だ。
暇になれば、次のことを始められる。自分が先頭に立って新しいことを開拓して、チームが後に続いてくれる。その繰り返しで、組織は育つと思っている。
今はまだ全然暇じゃない。でも方向性は変わらない。
関連記事: