敏捷开发之路,未来软件开发的变革?
敏捷开发这个名词已经不是第一次听到了,大家都推崇它好,就算是华为和腾讯这么大的软件公司也在进行开发的转型,
尝试敏捷开发之路,
首先在这里介绍下敏捷开发,大家知道什么是敏捷开发吗?知道多少,敏捷开发有那些特点,我相信很多人还不是很了解,甚至有些人还是第一次听到过这么名词,甚至我也不是很理解,我在这里把我自己的理解告诉大家,不一定对,供大家参考
?
1.测试驱动开发
???测试驱动开发是敏捷开发的重要组成部分,我们知道系统的功能是由业务需求来的,程序员首先把需求分成很多部分,编写一个个测试,让每个测试都通过,测试的目的是什么,达到的预期的结果是什么,这样程序员首先对业务就非常理解了,知道要做什么,然后再去编写开发的功能代码。
?
2.持续集成
?
3.重构
???每一次的改动,程序员都可以对以前的代码进行重构,如果发现设计不合理都可以随时重构,但要注意范围要小,要能通过单元测试
?
4.结对编程
??一个人写代码,一个人看,并聊天,当然大部分都是聊程序设计的问题,这样可以把沟通发挥到极致,如果是一男一女,偶尔也可以聊聊晚上去哪里看电影。
?
5.站立会议
??每天早晨,项目组的成员都会抽出半个小时的时间大家在一起进行沟通,谈谈昨天工作当中出现的问题,以及今天的目标是什么。
?
6.小版本发布
???摆脱从前从需求确定下来,就开始闭门造车,也不论这样做好不好,?现在可以让需求一次一次的修改,每个小版本发布出去后让一小部分人去适用,适用当中反馈存在的问题,再进行修改。
?
7.较少的文档
??文档不需要详细,只需要精,大家一看就能理解项目的结构就行,比如数据库的文档是一定要的,比较重要
?
8.以合作为中心
??项目中的没一个人都可以知道系统里每一部分的代码,甚至看写的不合理,不管是谁写的,都可以进行重构
现场客户。敏捷开发中,客户是与开发团队一起工作的,团队到客户现场进行开发或者邀请客户到团队公司里来开发。如果开发过程中有什么问题或者产品经过一个迭代后,能够以最快速度得到客户的反馈。
9.自动化测试。
为了减小人力或者重复劳动,所有的测试包括单元测试、功能测试或集成测试等都是自动化的,这对QA人员提出了更高的要求。他们要熟悉开发语言、自动化测试工具,能够编写自动化测试脚本或者用工具录制。我们公司在自动化测试上做了大量的工作,包括Selenium开源项目。
10。可调整计划。
敏捷开发中计划是可调整的,并不是像以往的开发过程中,需求分析->概要设计->详细设计->开发->测试->交付,每一个阶段都是有计划的进行,一个阶段结束便开始下一个阶段。而敏捷开发中只有一次一次的迭代,小版本的发布,根据客户反馈随时作出相应的调整和变化。
敏捷开发是一种新的开发模式,和以前的开发管理方法有着很大的区别,在现实当中如果要推崇这种开发思想,需要长时间的过程,而且很难对其进行推广,因为里面还存在种种问题需要我们去解决。