イテレーティヴとインクリメンタルの違い

 2009/12/10
このエントリーをはてなブックマークに追加

The waterfall trap for “agile” projects より抜粋してご紹介します。

インクリメンタルでもイテレーティヴでも同じものを目指しているように見えるけど、インクリメンタルな開発は顧客が満足しないものを作ってしまうリスクが軽減されていない。大きな絵はプロジェクトの最も最後にしか見ることができない。インクリメンタル開発で細部まで作りこんでしまうと、修正が発生した場合に、多くの努力が無駄になってしまう。 イテレーティヴな開発は開始時点からの絵の変化を見ることができる機会を提供している。そして一歩ずつ全体の絵の完成に向けて進んでいくのをガイドしてくれる。

プロダクトバックログの作り方を間違えると上記のような事態になりやすいと言っても良い。 プロダクトバックログが顧客の視点で書かれていれば実現価値をスプリント中に明確にできるので良いのだが、このバックログがシステムアーキテクチャやシステム開発者の作業レベルに近い内容だと、単なるインクリメンタルに陥る可能性がある。 スプリント#1で、「共通関数を作る」みたいなストーリーが混ざっていたら要注意だ(そもそもYAGNIの原則に反している可能性も高いけど)。

原文の抜粋は以下になります。

Although both these plans aim for the same thing, the incremental plan does not really reduce the risk of delivering something unsuitable to the client. The big picture appears only at the very end. Because increments are done in detail, a lot of effort is wasted when a piece needs rework (and the initial releases are almost certain to fall into this category). Iterative development offers a chance to see the picture from the start, and guide the development towards the full picture in steps. Not carving stuff in stone from the start allows us to change them easier later on, and we know that we’ll need to do that. Jeff gave the following rule of thumb to check quickly if your plan is iterative or incremental: “it’s not iterating if you do it only once”.
 2009/12/10
このエントリーをはてなブックマークに追加

サイト内検索


著作

寄稿

Latest post: