カミナシ エンジニアブログ

株式会社カミナシのエンジニアが色々書くブログです

プロダクトマネージャやデザイナがAIでプルリクエストを作成できるプロセスを作ろう

プロダクトマネージャやデザイナもAIでプルリクエストを作成できるプロセスを作ろう

こんにちは。息子と『ドラベース』を読みはじめた daipresents です。トンボール投げたい! カミナシでは「カミナシ 教育」と「カミナシ 従業員」のマネージャを担当しております。

前回、月1回のオンサイトにおける取り組みを紹介させていただきました。

参考: エンジニアじゃない人でもAIを使えば開発貢献できるんじゃないの?イベントを開催してみた

こちらについては、プロダクトマネージャやプロダクトデザイナの評価はとても高く、「もっとやりたい!」、「リリースしたい!」と、みんな開発に対する意気込みを表明してくれました

そこで、翌月のオンサイトでは、今回はさらに一歩進んだ取り組みとして、「イベントでやるだけでなくて、開発フローに組み込めないか」を実験してみました。

しかし、実際にプロセスに組み込んでみようとなると、課題が出てきます。

オンサイトの様子

課題1: 動作確認環境をどうするか?

AIの登場によって「作る」はとても簡単になりました。ひとつめの課題は「作ったものをどうやって確認するか」です。

僕のチームの場合、環境としてローカル環境や開発環境等を活用していますが、プロダクトマネージャやプロダクトデザイナはこれまでブラウザで開発環境や本番環境にアクセスするぐらいで十分でした。

しかし、自分が作ったものを動作確認するとなると、共有で利用している開発環境は使えませんし、本番環境に反映するのも難しい。

よって、今回はローカルでの動作確認ができるように、環境構築を進めました。

エンジニアが用意してくれた非エンジニア向けの開発環境手順書

必要なソフトウェアやGitの初期設定までを解説したドキュメントによって、環境構築がどんどん進みました。

また、プロダクトマネージャやプロダクトデザイナのやる気もすごく、忙しい間をぬって環境構築に時間を割いてくれたのも勝因のひとつだと感じています。

次のチャレンジとしては

  1. コマンド一撃で環境構築される仕組みを作る
  2. プルリクエストごとのプレビュー環境を用意する
  3. クラウド環境にログインしただけで開発できる・・・

といったアイデアもでてきています。

課題2: プルリクエストまでの開発お作法をどう教えるか?

こちらに関しては、前のオフサイトでやったように、翌月のオフサイトで時間を取って、エンジニアとペア作業を行いながら、開発開始、修正、プルリクエスト作成までを学んでいただきました。

前回で開発の流れをだいたい掴めているので、プロダクトマネージャやプロダクトデザイナの理解度はとても高かったように思います。

ここで問題になったのは、非エンジニアが出したプルリクエストをどう処理するか?です。

通常の開発の流れだと、

  1. 修正者が修正の意図と、修正したコードをセットにしてPRを作成する
  2. 別のエンジニアがプルリクエストを確認して、フィードバックを行う
  3. 問題がなければプルリクエストはマージされる

となりますが、非エンジニアに対して難しいフィードバックをすると・・・

  1. プロダクトマネージャやプロダクトデザイナがプルリクエストを作成してエンジニアにレビュー依頼する
  2. エンジニアが「このループ、計算量が $O(n2)$ になっているので、$O(n)$ に落とせませんか?」みたいな小難しいフィードバックをしたとする
  3. プロダクトマネージャやプロダクトデザイナは、レビューのフィードバックをClaude Codeに投稿して対応する
  4. エンジニアがさらに小難しいフィードバックをする
  5. プロダクトマネージャやプロダクトデザイナは、レビューのフィードバックをClaude Codeに投稿して対応する
  6. ・・・

こうなってくると、フィードバックの反映に「人間を挟む意味とはなにか? 」を人類代表として考えこんでしまいます。

よって、現在は、

  1. プルリクエストを作成するところまでをプロダクトマネージャやプロダクトデザイナの責務とする
  2. ただし、プロダクトマネージャやプロダクトデザイナ視点で必要なフィードバックはコメント等で行う
  3. プルリクエストのレビューからマージはエンジニアが担当する

という形で実験運用しています。

プロダクトマネージャやプロダクトデザイナがコードベースに貢献する世界線の誕生

まずはオフサイトで作成したプルリクエストが翌週以降、ぞくぞくとリリースされました。

PRの一覧にプロダクトマネージャやプロダクトデザイナのアイコンが並び、どんどんApproveされていく。

その後も継続的にプルリクエストが投稿されるようになってきました。

今回の実験を通して感じたのは、軽微な修正はプロダクトマネージャやプロダクトデザイナ主体のプルリクエストで十分プロダクト改善できることです。

上記のように「ちょっと不便だな」と感じる部分は、やることリストの優先度が低くなりがちです。一発目のリリースに入れられなければ、二度と優先度が上がることなく、永遠の優先度低としてやることリストの下の方に残り続けがち。心理的にも「なんだかなぁ」という気持ちになります。

しかし、AIの登場で開発のハードルが低くなったことから、エンジニア以外が戦力としてコードベースを改善できる世界線が実現しました。

もしかしたら、カスタマーサポートやカスタマーサクセスが同じ動きをすると、CRE(Customer Reliability Engineer) に近い存在になるのかもしれません。

最後に、この企画を考えてくれたエンジニアからのコメントがこちら。

プロダクトマネージャやプロダクトデザイナに使ってほしいのは、こうした環境でプロトタイピングしたりデザインや企画の叩きを作って考えてもらうことです。

その後、プロダクトデザイナによる体験向上の提案がプルリクエスト上で出てきました。そのデザイナはローカルで実装をすませ、実際の動きを見せながらチームに説明。採用されたものはそのままリリースへと進み出しています。なによりもこの貢献が

「楽しい」

そうです。

AIとの付き合い方はまだまだ実験が必要そうですが、開発を「楽しい」と思ってくれる人が増えたのは、AIのおかげかもしれませんね。