🥩

仕様駆動開発はレビュー地獄?──価値のスライスで天国に行こう

に公開

はじめに

AIに仕様を丸投げしたら、すごい勢いでドキュメントを生成してきた…。
最初は「便利だ!」と思ったのも束の間、気がつけばレビューの雪崩に埋もれる羽目に。

前回の記事では、AIコーディングのベストプラクティスの一つとして「価値をスライスする」ことを紹介しました。
実はこの発想こそ、仕様駆動開発(Spec-Driven Development)で「レビュー地獄」から抜け出す鍵だったのです。

レビュー地獄の正体

仕様駆動開発では、背景や要件をAIに渡して仕様を生成してもらいます。
しかし実際にやってみると、こんな罠が待っています。

  • 成果物が雪だるま式に膨れ上がる
    → 最初は軽い要件だったのに、AIが延々と仕様を足し込み、気づけば大作ドキュメントに。

  • AIがオーバーエンジニアリングしがち
    → 本来は「小さく直す」だけで良いのに、新しいテーブルやサービスを勝手に設計し始める。

  • レビューの手間が増える
    → 膨大で複雑な仕様を前に、人間はチェックに追われて消耗する。

結果として、「コーディングは楽になったのにレビューは地獄」という逆転現象に陥ります。

天国への抜け道:価値をスライス

ではどうするか?
答えはシンプルで、「価値をスライスする」ことです。

大きなステーキ肉をそのまま焼こうとすると火が通らず食べにくいように、仕様も巨大なまま扱うとレビュー不能になります。
一枚一枚にスライスして焼けば美味しく食べられるように、仕様もスライスして扱えばレビューしやすくなるのです。

  • 仕様を小さな粒度で生成させる
  • レビューも差分や要件ごとに小分けする
  • 余計な複雑さを避けて、価値の断片ごとに積み重ねる

こうすることで、レビュー負担はぐっと軽くなります。
レビュー地獄から抜け出し、スライス天国への道が開けるのです。

具体例:ログイン機能をスライスする

仕様駆動開発では、AIがこんな受け入れ要件を一気に吐き出すことがあります。

  • ユーザー名とパスワードでログインできる
  • ログイン後、マイページに遷移する
  • パスワードを間違えた場合はエラーメッセージを表示する
  • 連続で失敗した場合はアカウントをロックする

一見すると「ログイン機能」というひとまとまりに見えますが、実際には価値は複数です。

  • 基本的なログイン成功/失敗
  • ログイン後の遷移
  • セキュリティ制御(ロック処理)

悪い例(レビュー地獄)

これらをまとめて「ログイン機能」として実装すると、こうなります。

  • レビューが膨大になる:成功・失敗とセキュリティを同時に確認する羽目になる
  • 原因が切り分けにくい:失敗が仕様ミスかロック処理のせいか判別困難
  • リリースが遅れる:本来すぐ出せる価値も、余計な要件待ちで先送りに

良い例(スライス天国)

まずは「ユーザー名とパスワードでログインできる」だけを扱う。
次に「マイページ遷移」、その後「エラーメッセージ」「ロック処理」と積み上げていく。

こうすれば、レビューも実装もシンプルで、価値を早く届けられます。

まとめ

仕様駆動開発のペインは、成果物が雪だるま式に膨れ上がり、レビューが重すぎることにあります。
その解決策は、「価値をスライスする」ただそれだけ。

  • 小さく生成する
  • 小さくレビューする
  • 小さく積み上げる

これだけでレビューは軽くなり、開発体験はぐっと楽しくなります。

結論はシンプルです。
仕様駆動開発はレビュー地獄?──価値をスライスして天国に行こう。

co-generated by ChatGPT

Discussion