一直以来都搞不清楚增量与迭代的关系,刚好这段时间比较空闲,就整理了一下思路,然后上网搜集了一下相关资料。相对来说比较有个概念了。
增量
就像这个名字所描述的,是从一个小的范围开始的,以局部递增到全局的过程,适用于需求确定的场合。
迭代
从轮廓到细节的过程,更多的看中细化,可用于需求不确定的场合。
一直以来,需求总是容易改变的,就像翻书一样,老板突然间一个想法冒出来,或者别人给老板提了个建议什么的,需求就不一样了。需求变更控制说起来都是比较好听的,但也没有老板一句话直接。
敏捷在于拥抱变化,因此推崇轻设计和重构。重点在于做一个真正有用的系统,因此就算到了最后的阶段也是接受变化的。
但拥抱变化并不意味着可以随意变化,需求重心应该是一个相对比较稳定的中心,就类似于前景Vision应该是一个比较稳定的,我们强调聚焦,不推荐发散思维。
手机软件系统
手机软件系统开发过程应该分成两个阶段,第一阶段重点在构建硬件验证及驱动相关功能验证,这部分需求是确定的,选择什么样的平台和硬件模块直接决定了产品的硬件功能特性,这部分是适用增量开发的;第二阶段重心转移到以应用为主要载体的用户体验提升方面,这部分的需求相对较难确定,变动性又比较大的,因此这个阶段适用迭代开发。
Lex Luo 2011.5.13 厦门软件园二期