敏捷开发在复杂项目中其实意义不是很大
敏捷开发其实意义不是很大,在复杂项目中
复杂系统的开发,不会采用敏捷的方式,而是要在开始阶段,多考虑完善,多在架构层面,留有余量,而这个余量,更多的是通过设计方法--例如,采用灵活的顶层设计,留有余地的接口,抽象类来实现,而敏捷式开发,更多的强调是,你做出来多少个需求要求你完成的功能特性,其实,从某种程度上说,敏捷和较为完善的设计,是背道而驰的。因为敏捷要求的是完成可交付的功能--用户可用。而好的设计,是强调的通过较为周到的考虑,将架构合理的搭建起来--这个时候还远远没有到用户可以用的程度。
现在好多人喜欢谈敏捷,其实,敏捷,意思不大,就是开发流程短平快,可是如果做不好,往往会适得其反,拥抱变化,敏捷给的解决方案是--勇气,重构,而要知道,即便你有天大的勇气,即便你能重构来重构去,也远远抵不上一个设计完善的软件架构的巨大价值。
打个比方,敏捷就是某个小国政府,今天政变一把,张三搞一套政府班子,明天李四再政变一把,再搞一套政府班子,搞来搞去,都在拥抱变化,可是屁用没有。
而好的架构设计,就像美国的国父们仔细坐下来,琢磨独立宣言,琢磨政府的三权分立架构,使得有一个持续可用,优美合理,能够扩充,接纳改进的良好政治框架一样。
同志们,脑袋是否清晰了一点?