对于一般的以营利为目的的互联网企业来说,他们的产品能否产生效益的最大因素就是用户,在现在这种竞争激烈的互联网格局中,一个产品很有可能有很多相似的产品与其竞争,比如与腾讯QQ类似的有MSN message(现已关闭)、陌陌、Facebook等,在一个无法垄断的行业中,如果不能把自己的产品做得吸引眼球,很有可能难以保持用户对产品的热度,进而造成用户流失,这种情况对于互联网企业来说是相当可怕的,然而让一种产品能长久地吸引用户却是一件难事,因为用户的需求是在不断变化的,这就要求产品能适时更新,加入大多数用户希望的新功能,除去用户摒弃的旧功能,这就进入到了这篇文章的主题,为什么互联网公司需要使用增量模型开发产品。
增量模型与原型实现模型和其他演化方法一样,本质上是迭代的,但与原型实现不一样的是其强调每一个增量均发布一个可操作产品。早期的增量是最终产品的“可拆卸”版本,但提供了为用户服务的功能,并且为用户提供了评估的平台。在我们日常用的软件中,我们经常可以看到手机上某个软件会时不时的推送更新,当我们打开它时并不会发现它整体发生了很大的改变,它可能只是增加了一两个新功能,或者修复了原来的一些漏洞,这就是增量模型开发的典型例子。相对于瀑布模型,增量模型避免了产品直接交付使用,容易因需求分析错误而造成的产品功能与用户预期不相符的风险,更重要的是,增量模型能及时收到用户反馈,并对用户需求很快做出反应,而且增量模型能极大地提高系统的可维护性,因为整个系统是由一个个构件集成在一起的,当需求变更时只变更部分部件,而不必影响整个系统。这就满足了用户易变的需求,能在最短的时间内增加用户需要的部件,而不会改变整体的结构布局,而且这样能极大地减少人力成本,这对互联网企业追求经济效益是很重要的。
虽然增量模型存在容易退化为边做边改模型,从而使软件过程的控制失去整体性的缺陷,但是它的灵活性令它在适应需求变化的能力得到极大提高,这点恰恰是互联网公司所需要的,增量模型不能说是一个是一个十全十美的开发模型,但是它却可能是最适合一般互联网产品开发的模型。