ある開発チームに、二人のエンジニアがいました。一人は慎重なアリタ、もう一人は急ぎ足のキリハラです。
春:プロジェクトの始まり
新しいシステム開発プロジェクトが始まりました。
キリハラは早速AIに声をかけます。
「おい、AI!ユーザー管理システムを作ってくれ。急いでるんだ!」
AIはすぐにコードを生成しました。キリハラは大喜びです。
「見ろよ、アリタ!もうできたぞ。お前はまだ何もしてないじゃないか。」
一方、アリタは落ち着いて考えていました。
「まずは何を作りたいのか、しっかり整理しよう。」
アリタはAIと対話を重ね、要件を一つずつ明確にしていきます。
「まず要件を整理しよう。このシステムで何ができるようになる必要があるか?」
「どんなユーザーが使うシステムなのか?」
「セキュリティ面で気をつけるべきことは?」
「既存システムとの連携はどうするか?」
AIと一緒に、これらの疑問を一つずつ解決していきます。
そして、詳細な要件仕様書を作成し、ドキュメントとして保存しました。
キリハラは鼻で笑いました。
「そんなことしてる間に、俺はもう3つの機能を実装したぞ!」
夏:開発の進行
キリハラは次々とAIにコードを書いてもらい、そのまま本番環境にデプロイしていきます。
「効率的だろう?AIがあれば設計なんて時間の無駄さ!」
しかし、アリタは違いました。要件仕様書をAIと共有し、実装計画を丁寧に立てます。
「この要件を実現するには、どのような設計が適切でしょうか?」
「セキュリティを考慮した実装方法は?」
「テスト戦略はどうしましょう?」
AIとの対話を通じて、詳細な実装計画書を作成し、これもドキュメントに保存しました。
キリハラは相変わらず急いでいます。
「計画なんて後からついてくる!スピードが命だ!」
秋:問題の発覚
ついに問題が起き始めました。
キリハラのシステムでは、セキュリティ問題が発見されました。しかし、要件が曖昧だったため、どこまで修正すべきか分からず、AIに聞いても一貫性のない回答しか得られません。
「あれ?このコード、なんでこうなってるんだ...?」
一方、アリタは実装フェーズに入っていました。AIが生成したコードを一行一行丁寧にレビューします。
「このアルゴリズムの計算量は適切でしょうか?」
「エラーハンドリングが不十分な箇所がありますね。」
「セキュリティの観点から、この部分は修正が必要です。」
AIと対話しながら、コードを改善し、品質を高めていきます。
キリハラのシステムは、今度はパフォーマンス問題でダウンしました。
「AIのコードなのに、なんで動かないんだ!」
冬:結果の差
ついに冬がやってきました。
キリハラのシステムは:
- セキュリティホールだらけ
- 要件が曖昧で機能が中途半端
- パフォーマンス問題で頻繁にダウン
- 修正しようにも、設計思想が分からず手がつけられない
- ドキュメントがないため、引き継ぎができない
キリハラは途方に暮れています。
「助けてくれ、アリタ...どうすればいいんだ?」
アリタのシステムは:
- 明確な要件に基づいた堅牢な設計
- セキュリティとパフォーマンスを両立
- 詳細なドキュメントで保守性も抜群
- チーム全員が理解できる構造
- 将来の拡張も見据えた設計
アリタは温かく答えました。
「大丈夫、一緒に立て直そう。まずは要件を整理するところから始めよう。」
教訓
キリハラは学びました。
AIと協力したシステム開発では:
-
要件明確化が第一歩
- 望むシステムを明確に伝える
- AIと対話して要件を整理する
- ドキュメントとして保存する
-
実装計画が成功の鍵
- 要件を共有して実装方針を決める
- AIと一緒に設計を考える
- 計画をドキュメント化する
-
コードレビューが品質の要
- AIの出力を鵜呑みにしない
- 開発者がしっかりとレビューする
- 品質と保守性を確保する
「AIは強力な相棒だが、」アリタは言いました。
「適切なプロセスがあって初めて、真の力を発揮するのだよ。」
キリハラは深くうなずきました。
「急がば回れ、というわけだね。今度は君のやり方で一緒にやらせてもらうよ。」
そして二人は、AIという強力なパートナーと共に、素晴らしいシステムを作り上げていったのでした。
AIコーディングの三原則
- 🎯 要件明確化 - 何を作りたいかをAIと一緒に整理
- 📋 実装計画 - どう作るかをAIと一緒に設計
- 🔍 コードレビュー - AIの出力を開発者が必ず検証
めでたし、めでたし