敏捷开发为何敏捷

以往的开发都是模拟通常的传统工业进行的。人们把软件当作一个产品,一个流水线上的产品。因此就出现了先搞可行性分析(其实真正开发的时候没人去搞这玩意儿,既然都要开发了还分析个什么劲~),而后是需求分析,遇到负责的开发团队偶尔会画画图,要是遇到奇葩的开发团队颇有可能一个需求闯天下了。整个软件的开发周期中只有一个需求文档其余的什么都没有的开发团队随处可见,由于没有文档因此作不了升级因此只能推倒重来,因而开发人员感受文档更加没用,如此一来恶心循环。(这个关于文档的内容不属于本篇博客讨论的话题)下面就带着读者来看一下敏捷开发是如何从传统的开发模式演变而来,或者说软件开发是如何一步一步的走向“成熟”(成熟是永远达不到的,只是一个不断追求的目标而已)。模块化

第一层次工具

通常开发团队中的搞需求的只负责与客户交流而后传递信息,开发人员只负责编码,测试人员(若是有的话)只负责测试。这样以来就致使同一个时间只能有一拨人在干活其余人都须要等待。若是某一个阶段有问题那么只能回滚到上一个阶段,在这期间的效率就大大下降了。测试

第二层次编码

后来人们将软件分模块,这样一来开发人员能够不用等待需求人员把整个需求搞清楚再去着手开发,而测试人员也能够尽早的介入,及时发现问题。这大大的提升了效率,使得软件开发更像是流水线上的产品,只不过这时把软件拆分以达到提升效率的目的。须要注意的是这一切一切的前提是模块的合理划分(Maven就源于此)。spa

在敏捷开发中每次迭代都被成为一个sprint,中文意为“冲刺”,可见其速度与效率orm

第三层次blog

模块化提升了开发效率,可是人们是永远不知足的,还但愿让软件开发更加高效。因而人们发如今上一个层次中浪费时间的阶段就是交接阶段。因此然们就在想若是让一个开发人员从需求到开发到测试一鼓作气岂不是再次的提升效率,因而scrum的雏形出现了。每一个成员负责一个模块的所有,从需求分析到编码实现,到测试。(众多scrum工具就源于此)。开发

第四层次文档

分模块,一人独揽的确提升了开发的效率可是就像运动会的标语“更快,更高,更强”开发还能够更加高效!在整个的开发过程当中人们发现虽然每一个模块消耗的时间或者说人员成本基本相同,可是每一个模块儿自身的价值是不同的。因而人们在上一个层次的基础之上加入了优先级的概念,如此一来一样的时间解决最有价值的问题大大提升了公司的效益。(在开发的后期客户会本身根据投入产出比选择是否继续升级或者添加新的功能)博客

纵观敏捷开发的发展,是一个实事求是的过程,是一个永不知足的过程。在敏捷开发中最重要的几个方面:具备全局观的组长,具备多种技能的成员(多面手),具备爱心的团队。只有这样敏捷才能敏捷,不然只会是一个形式,一切活动归根结底都是人的活动,若是人的能动性没有了,工具再先进,思想再超前也是白搭。

相关文章
相关标签/搜索