敏捷软件开发

来源:互联网 发布:yishop 源码 编辑:程序博客网 时间:2024/06/05 03:54
我们知道,传统的开发模式已经不能不适用于现在情况,原因有很多:需求经常发生变化,软硬件更新速度很快等,这些原因都使得传统不管是“瀑布模型”还是“增量” 不管是“快速原型”还是“螺旋”模型,这些软件开发的模型,不在实用了。

所以,在2001年,敏捷宣言提出,标志着敏捷开发模型初步形成。那么敏捷开发和传统开发有什么区别?我们在进行敏捷开发的过程中,应当过分的关注那些方面?

首先区别在于就是多变的需求以及乏味的文档说明:

传统的开发模型过分的强调文档的说明,比如瀑布模型,必须有说明文档,而且严格的按照前一个过程是后一个过程的的输入,如果前一个问题出错,结果可想而知。而且用户的需求必须充分的被理解,才能开始我们的工作,这在现实的世界是不行的,现在的需求可以说是经常发生变化,我们如果没有一套适用于应对变化的措施,那将会是非常可怕的。所以,应对日益变化的需求,我们有了敏捷设计的想法。

玉传统的敏捷过程相比,敏捷方法中避免了客户在开发初期不能提供准确详细需求导致的问题,采用迭代式的开发。通过不断发布新版本并演示给客户,使得客户在与系统交互的过程中发现自己需要的系统特性,从而改善在每次迭代前提供的需求。这种开发方式中允许客户延迟某些决定,等有价值的信息出现或对技术优化后才去决定,这也是敏捷开发的一个优势。实际的敏捷开发中,甚至可以在任何需求都未知的情况下开始开发。另一方面,敏捷开发可以提供给客户一个更符合需求的最终产品。每一个短的迭代,都为客户提供一个完整的模块以便于讨论,由于这些模块并不是完整的系统,所以之后的任何新增功能的开发都不会增加开发费用。这样开发者可以随时为客户增加任何功能,并且系统将在客户没有再需要添加的功能后进行整合。因此,敏捷开发的产品将是完全符合客户需求的完整的系统。

瀑布模型,他的短板也就体现出来,“需求发生了变化”,项目到了最后阶段,怎么办?要重新开始嘛?就像前面所说,客户的需求可能开始的时候不是非常明确,而且会随着条件的变化而发生经常的变化,那么我们从头再来就等于前功尽弃了。可以看出敏捷开发思想的优势十分明显,相比于传统的过程模型,其效率有了明显的提升,同时效果也得到了质的飞跃。传统过程模型是为了任务而开发,而敏捷开发是为了客户而开发,这之间的区别可想而之。

不能说敏捷开发一定优于传统的项目,但是值得强调的就是在现在的情况下,变化很大,说明文档不可能一成不变,那么索性我们就不去过分的关注文档,去在代码中写注释,在这种情况的大背景下,我们怎能不去喜欢敏捷开发?所以,在合适的情况用合适的开发过程,这很重要!
0 0
原创粉丝点击