关于敏捷,你需要了解的事

2018-05-30 11:21 1198 0
  一、敏捷开发的起源

  90年代末,传统的软件开发方法因其繁杂的过程和过慢的开发效率备受诟病,人们开始反思传统开发方法的利弊,探讨新的、更高效的软件开发模式。

  2001年2月,17位志愿者在美国尤迪洲雪鸟度假胜地聚集,他们中的大多数都是软件开发领域的技术顾问和意见领袖,这些人聚集在一起讨论一种新的软件开发趋势。他们认为,软件开发应该关注真正重要的事情,少关注那些占用时间但不重要的事情。

  他们将这种方法命名为“敏捷”,并发布了敏捷宣言:“一种把以人为本、团队合作、快速响应变化和可工作的软件作为宗旨的开发方法”。

  二、敏捷开发的主要特点

  1.敏捷开发有更强的适应性。

  在传统的开发方法中,因为软件开发过程的不可预见性,很多用户在项目开始时不能对整个项目有一个完整而明确的预期。而敏捷开发则是高适应性的,它能够缩短把项目交给用户的周期,增强用户、业务人员和开发人员之间的交流,通过减少重构的成本以增加软件的适应性。

  2.敏捷开发更注重人的因素。

  传统开发模式中,人的因素很少被考虑到分工中,每个人都只是整个项目开发机器中的小螺丝钉,个人的意志和创造力不被重视。而敏捷开发充分考虑了每个人的潜力,应用什么技术很大程度上由一线的开发人员决定,每个人的特点和创造力都可以得到发挥。这样产出的代码,质量必然更占优势。

  3.敏捷开发是测试驱动而不是文档驱动的。

  在敏捷开发中,每个模块都有着自己相应的测试单元,集成测试贯穿了整个开发过程的始终。集成测试每天都会进行数次,而不是像传统的开发方法一样当所有模块都编码结束了才进行联合调试。敏捷的测试方法,避免了最后系统完成时错误隐藏太深而给调试造成极大的困难。

  4.持续集成、持续交付。

  敏捷开发中提倡持续集成,一天之内集成十几次甚至几十次,如此频繁的集成能尽量减少冲突,由于集成很频繁,每一次集成的改变也很少,即使集成失败也容易定位错误。

  敏捷开发提倡持续的小版本交付。客户每隔一段时间就会拿到发布的产品进行试用,而我们可以从客户那得到更多的反馈来改进产品。

  5.代码共享。

  在敏捷开发中,代码是归团队所有而不是哪些模块的代码属于哪些人,每个人都有权利获得系统任何一部分的代码然后修改它。这样每个人都能熟悉系统的代码,即使团队的人员变动,也没有风险。

  三、项目的敏捷开发方法

  敏捷方法很多,包括Scrum、极限编程、功能驱动开发以及统一过程(RUP)等。敏捷开发小组主要的工作方式可以归纳为:作为一个整体工作;按短迭代周期工作;每次迭代交付一些成果;关注业务优先级;检查与调整。

您需要登录后才可以回帖 登录 | 立即注册