【はんぷくがたかいはつ】
反復型開発 とは?
💡 「一発勝負はもうやめた」小さく作って何度も磨く開発スタイル
📌 このページのポイント
反復型開発って、ウォーターフォールとどう違うの?
ウォーターフォールは「要件定義→設計→実装→テスト」を1回で通すけど、反復型は同じ流れを何回も繰り返すんだよ。1回目で30%、2回目で60%、3回目で90%と段階的に完成度を上げていくイメージだね
何回も繰り返すって、時間がかかりそうだけど?
実は逆なんだよ。ウォーターフォールだと最後のテストで大きな問題が見つかって大幅な手戻りが起きることがあるけど、反復型なら早い段階で問題に気づけるから、トータルでは効率的になることが多いんだ
イテレーションの長さってどう決めるの?
反復型開発とアジャイルって同じもの?
似ているけど同じではないよ。反復型開発は「繰り返し作る」という開発プロセスの話で、アジャイルは「変化に適応する」という価値観や原則の話なんだ。アジャイルの多くの手法が反復型を採用しているけど、反復型=アジャイルではないんだよ
反復型開発が向かないケースってあるの?
要件がカッチリ決まっていて変更が少ないシステム、たとえば法律で仕様が決まっている金融システムなどは、ウォーターフォールのほうが効率的な場合もあるよ。ただ現代のソフトウェア開発では、要件が変わらないことのほうが珍しいから、反復型のアプローチが主流になっているんだよ
まとめ:ざっくりこれだけ覚えればOK!
「反復型開発」って出てきたら「短いサイクルで作って→確認して→改善を繰り返す開発」と思えればだいたいOK!
📖 おまけ:英語の意味
「Iterative Development」 = 反復型開発
💬 「Iterate」は「繰り返す」という意味で、1950年代のNASAのプロジェクトでも使われていた歴史の長い手法だよ