“敏捷开发”一词,想必大家都不陌生,不过对有些人来说,可能也就是书上见过或者听说过,事实上,“敏捷开发”并不是一门技术或者工具,而只是一个软件开发方法,也可以说是思想。
那么,究竟什么是敏捷开发?
敏捷开发是一套软件开发的价值和原则,倡导演进式开发,提早交付,持续改进,鼓励对变化做出快速灵活的反应。很多人可能会有这样一个误区,即敏捷开发就是快速,越快越好,加班加点写代码、赶进度等,而实际却并非如此,对于敏捷,我们可看作是轻量级、高效。
一般而言,传统软件开发时通常是罗列大堆需要的功能,之后再进行线性流程开发,这也被称作瀑布流开发流程。而敏捷开发则是将项目分解成多个”小目标“,通过分阶段不停完成这些小目标,进而完成一整个大项目。
敏捷开发具体又是什么样的一种方法呢?下面一起来看一下!
1、团队密切协作
敏捷开发中,最核心的就是人。因此,敏捷开发需要做到以下几个关键点:
定期会议。定期举行一个高效会议,有利于开发人员保持紧张有序的工作状态。
及时告知项目进展。遇到问题时互相及时告知,让所有人及时了解项目最新进展。
知识共享。共享知识,可以让整个团队开发能力提升的更快。
代码共享。把代码集中在版本管理工具之中,团队任何人都有访问权限。
代码审查。对于代码的每个改动,相关人员都需要做代码审查。
2、不断反馈和调整
敏捷开发与传统开发不一样的就是其并不是一次定终身,因为软件开发不是线性路程,所以可能存在着很大的不确定性,需要不断的反馈、调整,快速的去响应变化。
需求调整。在产品真正落地前,没有人可以制定出完美需求方案,用户说不定什么时候就变更了某个需求,所以开发团队需要做好需求不断变化的心理准备,并快速响应需求变化。
功能调整。收集客户反馈、用户反响,来不断调整和优化软件功能。
代码重构。在开发的过程中,需要不断的重构代码,保持代码清晰、内聚、整洁。
3、保持软件可用
传统软件开发方式是当所有编程代码写完后再集中测试和上线,这一点在如今信息快速发展的今天,略有落伍,毕竟若你的软件开发个半年,那么行业中可能早已出现类似软件了,到时就是凉了的黄花菜了。
敏捷开发则有所不同,可在最小可用版本基础之上,不断做功能迭代,不断发布新的版本。简单来说就是,先做一个简化功能版本出来,让用户有软件可用,之后再逐步添加更多功能,而非一步到位。这样还有利于不断收集用户反馈和需求,并及时调整开发方向。
4、短迭代,增量发布
所谓“迭代”就是,重复下一个开发周期,用迭代的方法在前一版本之上逐步开发新的功能,发布新的版本,即:增量发布。迭代周期不宜过长,需保持开发过程稳步前进,不过也不能太过频繁,否则可能就会过犹不及,具体迭代周期可根据实际情况量力而行。
5、提早集成,不断集成
“集成”的含义就是,把软件的各个模块,新旧代码统一整合在一起,能够正确编译、运行,并且能够通过一系列的单元测试。
对于敏捷开发来说,开发人员需要尽可能做到提早集成,频繁集成,一般每添加进一些新的代码时,最好都做一次集成,不要临到软件发布或者交付的当天才开始集成,也不要很久才集成一次,如此可以尽早发现代码中的问题,保持软件的状态一直是可用的。
6、自动化集成、测试与部署
敏捷开发可通过技术手段把集成、测试与部署这些非常耗时的操作自动化。对于大型软件开发团队来说,编译。测试过程都是非常耗时的,这时,通过技术手段把这些耗时的纯体力劳动扔给机器去做,只需等待结果就好,而且两个人同时Check In时也不会受到影响。
综上所述,敏捷开发最大的一个特色就是迭代式开发,不过迭代式开发也并非敏捷思想的全部,团队协作与自动化开发也是敏捷思想的精髓所在。
2020-07-20 1123
2018-02-22 1365
2018-07-18 1227
2020-10-26 1020
2018-10-11 2533
2018-02-16 1517