演进式设计提出的是不可以一步到位,像满足一个建筑的设计一样那么完美去计划达到意想中的效果.很多的建筑桥梁在计划的设计无型中破产了重建,当初的设计者怎么也没有想到广州的中山大道会堵车成这样,这就是计划设计的一个失败,总以为需求的变化是有限的,城市的规划在很多问题上都是如此,立交桥建了一座又一座同样拆了一座又一座,地下的排水系统经常冲爆...,当初的设计基本满足不了人口的增长和居民日常需求的变化需要.
回到软件工程上来也是一样,作为用户的需求也是不太可能去计划式设计,因为用户的需求在变,企业的流程在变化,商业模式也在变,不能把想象中的太完美一步到位.这样的设计很难跟进用户需求变化.
软件项目工程遵循软件过程管理是很重要的,也是一样需要先计划后实施.
接手项目时应先考虑系统的架构,根据需求考虑系统中重大问题:
模块间的关系,系统的分布层次,用户的需求的变化性。
是否对用户的需求完全理解?
确定用户的需求没有变化?
软件的架构可以满足现有的所有需求和n%的可扩展性?
XP主导的是拥抱变化,不用担心用户的需求在变化,而是采用演进式设计和迭代渐进式满足用户的需求。
XP在某种程度上就是避免过度设计,减少重复.
这点特别合适在做网联网的产品,因为商业模式和用用户需求的变化性是很大的,计划式设计基本无法满足这些变化。
采用XP演进式同样遵循系统的设计和开发的方法,和项目工程管理的方法,只是过程有所变化。可以通过改变软件工程的过程来合适变化的需求。
偶目前从事的互联网产品在某些方面存在着一定的问题,除去商业层面上看,在需求设计上也是存在一定的过度设计.在软件工程的,需求工程上做的还不够,可控性与可计划性不强. 导致很多东西重做,或做了无用功。
特别是在互联网产品的策划概念上包括开发发布上处处都是演进式,不可能一步到位,而且在执行的细节上是需经XP式,用最大的灵活性来保证产品的上线进度。