【いんくりめんたるもでる】

インクリメンタルモデル とは?

💡 全部いっぺんに作らず、少しずつ積み上げて完成させる
📌 このページのポイント
インクリメンタルモデル 時間 → インクリメント 1 中核機能(ログイン等) v1.0 v1.0機能 インクリメント 2 検索・一覧機能 v2.0 v1.0 v2.0 インクリメント 3 決済・レポート機能 v3.0 完成 リリース
インクリメンタルモデルのイメージ
ひよこ ひよこ

インクリメンタルモデルって、何かを少しずつ作るってこと?

ペンギン先生 ペンギン先生

そうだよ!たとえばECサイトを作るとしたら、最初に商品検索と閲覧機能だけリリースして、次にカート機能を追加して、その次に決済機能を追加する...というように機能単位で分けて順番に作っていくんだ。

ひよこ ひよこ

それってアジャイルと同じじゃないの?

ペンギン先生 ペンギン先生

似ているけど違うんだ。インクリメンタルモデルは各インクリメント(機能の塊)の中ではウォーターフォールのように要件定義→設計→実装→テストを順番にやることが多いよ。アジャイルはもっと柔軟にフィードバックを取り入れながら進めるんだ。

ひよこ ひよこ

全部一気に作るのと比べて何がいいの?

ペンギン先生 ペンギン先生

3つメリットがあるよ。(1)重要な機能から先に使えるから投資の回収が早い、(2)途中で方向転換しやすい、(3)開発チームの負担を分散できる。全部作ってからリリースすると、完成まで何も使えないし、最後に「思ってたのと違う」となったら大損害だからね。

ひよこ ひよこ

デメリットはないの?

ペンギン先生 ペンギン先生

インクリメント間のインターフェース設計が難しいんだ。後から追加する機能を見越して、最初の設計をしっかりやっておかないと、インクリメント同士がうまく繋がらなくなるよ。あと各インクリメントごとにテストやリリースが必要だから、管理コストは増えるね。

ひよこ ひよこ

反復型開発とはどう違うの?

ペンギン先生 ペンギン先生

インクリメンタルは「新しい機能を追加していく」イメージで、反復型(イテレーティブ)は「同じ部分を何度も改良していく」イメージだよ。実際のプロジェクトでは両方を組み合わせることが多くて、新機能を追加しながら既存部分も改良する、というのが現実的なやり方だね。

ひよこ ひよこ

実際にはどんなプロジェクトで使われているの?

ペンギン先生 ペンギン先生

大規模な業務システムの刷新でよく使われるよ。たとえば古い基幹システムを新しくする場合、全部一気に切り替えるとリスクが大きすぎるから、部門ごとや機能ごとに段階的に移行するんだ。WindowsのようなOSのメジャーアップデートも、内部的にはインクリメンタルな開発をしているよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「インクリメンタルモデル」って出てきたら「機能を分割して少しずつ完成させていく開発の進め方」と思えればだいたいOK!
📖 おまけ:英語の意味
「Incremental Model」 = 漸増型モデル
💬 incrementは「増加」「増分」という意味で、機能を少しずつ増やしながら完成に近づけるイメージだよ
← 用語集にもどる