「コードが読めないPM」の限界を打ち破る
「開発チームから『コードレビューお願いします』と言われても、正直何をチェックすればいいか分からない...」
PM・システム企画として働いていると、こんな場面に遭遇することありませんか?技術的な詳細は分からないけれど、品質管理の責任は感じている。でも具体的に何をすればいいのか分からない。
私も同じ悩みを抱えていました。しかし、生成AIを活用することで、非技術者でも有意義なコードレビューができることを発見したんです。
今日は、技術的なバックグラウンドがなくても実践できる、AIを活用したコードレビュー手法をお伝えします。
非技術者がコードレビューで果たすべき本当の役割
まず、PMがコードレビューで何を見るべきかを整理しましょう。
技術者が見る観点
- 構文エラー、パフォーマンス、セキュリティホール
 
- コーディング規約、設計パターンの適用
 
- テストの網羅性、リファクタリングの必要性
 
PMが見るべき観点
- 要件との整合性:実装が仕様通りになっているか
 
- ビジネスロジックの妥当性:業務フローを正しく反映しているか
 
- 運用観点の考慮:エラー処理、ログ、メンテナンス性
 
- ユーザー体験への影響:パフォーマンス、使いやすさ
 
実は、PMだからこそ気づける観点がたくさんあるんです。
AIを使った非技術者向けコードレビューの5ステップ
Step 1:要件理解の確認
コードを見る前に、まず「このコードが何をするものか」をAIに説明してもらいます。
プロンプト例:
このコードが何をする処理なのか、
ビジネス的な観点で説明してください。
特に、ユーザーからの視点で
どんな機能を実現しているかを教えてください。
[コードをここに貼り付け]
AIの回答例:
「このコードは、ECサイトでユーザーが商品を購入する際の決済処理を実装しています。具体的には、クレジットカード情報を受け取り、外部の決済サービスAPI に送信し、結果を データベースに保存する機能です...」
Step 2:要件との整合性チェック
AIの説明を聞いて、仕様書と照らし合わせます。
チェックポイント:
- 実装されている機能が仕様書の記載と一致しているか
 
- 想定していない処理が含まれていないか
 
- 仕様書にある機能が漏れていないか
 
発見できる問題例:
- 「仕様では『支払い方法はクレジットカードのみ』だったが、コードにはコンビニ決済の処理も含まれている」
 
- 「ポイント付与の処理が実装されていない」
 
Step 3:エラーハンドリングと運用観点の確認
プロンプト例:
このコードについて、運用面での問題点を教えてください。
特に以下の観点で分析してください:
1. エラーが発生した時、ユーザーにどんな影響があるか
2. 障害時の原因調査に必要なログが出力されているか  
3. システム管理者が異常を検知できる仕組みがあるか
4. データの整合性が保たれているか
[コードをここに貼り付け]
PMだからこそ気づける問題:
- 「決済エラー時にユーザーに分かりやすいメッセージが表示されない」
 
- 「障害調査に必要な情報がログに記録されていない」
 
- 「処理途中でエラーが発生した場合のデータ不整合リスク」
 
Step 4:ビジネスロジックの妥当性チェック
プロンプト例:
このコードのビジネスロジックについて、
以下のような業務上の問題がないか分析してください:
1. 業務フローとして不自然な処理はないか
2. 法的な制約や規制に抵触する可能性はないか
3. 他のシステムとの連携で問題となりそうな点はないか
4. 将来的な仕様変更時に対応が困難になりそうな箇所はないか
業務背景:[ここに業務の説明を入力]
[コードをここに貼り付け]
Step 5:ユーザー体験の観点での評価
プロンプト例:
このコードが実装されたシステムを
エンドユーザーが使用する際の体験について、
以下の観点で問題点を指摘してください:
1. 処理時間が長すぎてユーザーが離脱しそうな箇所
2. エラー時にユーザーが混乱しそうな点
3. 使いにくさを感じさせる可能性のある処理
4. データの見せ方で改善できる点
[コードをここに貼り付け]