敏捷开发综述
资料原文地址:http://www.cnblogs.com/kengqiangmeiguiye/p/3612149.html?utm_source=tuicool&utm_medium=referral
本周课堂上 第一次接触到了敏捷开发的概念 所以课后就查询了关于敏捷开发的一些资料和案例 希望能更好地理解它
(一)什么叫敏捷开发方法
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备继承和可运行的特征。换言之,就是把一个大项目氛围多个相互关系,但也可独立运行的小项目,并分别完成,在此过程中,软件一直处于可使用状态。
敏捷开发路线图
Refactoring重构
优点:
-
能改进软件设计使软件更容易被理解
-
能帮你找到bug
-
提高软件的开发速度
Pai-Programing:结对编程技术
是指两位程序员肩并肩地坐在同一台电脑前合作完成同一个设计、同一个算法、同一段代码或同一组测试。与两位程序员各自独立工作相比,结对编程往往只需花费大约一半的时间就能编写出质量更高的代码。
Stand up:站立式会议
是一种新型的会议方式,为一些新兴科技公司所开创。它提倡员工可选择以站姿而不是坐姿来开会,以身体的放松来带动精神的放松,一方面提升工作效率,另一方面也有助员工身体健康。
Frequent Releases:小版本发布
敏捷开发中,尽量多的发布以周、月为单位的产品,这样客户每隔一段时间就会拿到发布的产品进行使用,通过反馈信息来改进产品。这样可以与客户的需求和变化进行很好的互动。
Minimal Documentation:较少的文档
敏捷开发中并不是没有文档,而是由大量的文档,即测试。这些测试代码真实地反映了客户的需求以及系统API的用法,如果有新人加入团队,最快的熟悉项目的方法就是给他看测试代码,如果用书面文档或者注释,某些代码变化了,需要对文档进行更新。
Collaborative Focus:以合作为中心,表欣慰代码共享
在敏捷开发中,代码是贵团队所有而不是某些人,每个人都有权利或的系统任何一部分的代码然后修改它,如果有人看到某些代码不好的话,拿她能够对这部分代码重构而不需要征求代码作者的同意,很可能也不知道谁写的这部分代码。这样每个人能够熟悉系统的代码,技师团队的人员变动,也没有风险。
Customer Engagement:现场客户
在敏捷开发中,客户是与开发团队一起工作的,团队到客户现场进行开发或者邀请客户到团队公司李开发。如果开发过程中有什么问题或者产品经过一个迭代后,能够以最快的速度得到客户的反馈。
Automated Testing:自动化测试
为了减小人力或者重复劳动,所有的测试都是自动化的,这对QA人员提出了更高的要求。他们要熟悉开发语言、自动化测试工具,能够编写自动化测试脚本或者实用工具录制。
Adaptive Planing:可调整计划
敏捷开发计划是可以调整的,需求分析-概要设计-详细设计-开发-测试-交付,每一个阶段都是有计划的进行。
总而言之 敏捷开发与传统开发过程有很大不同,在这过程中,团队是有激情和活力的,能偶适应较大的变化,做出更高质量的软件。
如敏捷开发的宣言所说: