敏捷开发到底是啥
敏捷开发适合小团队小项目,不适合跨部门级别的大项目。
■网友
可以参考我在另一个问题下的回答:http://www.zhihu.com/question/19645396/answer/57383177
■网友
敏捷开发最大的特点是迭代式开发,各个阶段都具备独立运行和独立交付的特性。主要是以客户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。
在敏捷开发中,软件项目在构建初期被切分成多个子项目,即就是多个sprint,每个sprint中又会有划分成多个build,在一个软件项目完成后会对整个产品从头到尾进行回归验证,以确保软件在每一次迭代过程中没有错误产生。在软件最后的发布阶段,客户会对最终的产品进行验收工作。上线后对软件进行一直的维护。
【敏捷开发到底是啥】 以软件项目中的一个迭代即一个sprint为例,一个sprint一般会被分割成2-4个build,每个build的周期约为1周,每个sprint的第一步都需要对项目进行需求的分析和澄清过程,确保达到需求对齐(甲方和乙方)的目的。第二步根据分析所得的需求对测试进行计划,确保在有计划的基础上进行每一项工作和任务。第三步根据测试计划进行设计测试用例,需要有清晰的思路,对要测什么,按照什么顺序测,覆盖哪些要求,有明确的方向。第四步根据测试设计去进行软件的开发,开发完成后,自己测试完毕并把测试出来的bug修复后进行版本转测。基于每个build,第一步需要搭建测试环境,完成后对开发给的测试包进行冒烟测试,如果测试通过进行下一步操作,如果没有通过进行版本打回。第二步执行测试用例,根据测试用例执行的结果将bug提交成开发,等bug修复后再次进行测试,完成通过后进行下一个build,等所有的build执行完成后,基于一个sprint,对真个过程进行总结,并编写测试报告。
敏捷相关概念:
Sprint(Sprint本身是一个事件,包括了如下4个事件)
Sprint计划会议(SprintPlanning Meeting)
每日站会(DailyScrum Meeting)
Sprint评审会议(SprintReview Meeting)
Sprint回顾会议(SprintRetrospective Meeting)
TDD:测试驱动开发(Test-DrivenDevelopment)
测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。
BDD:行为驱动开发(BehaviorDriven Development)
行为驱动开发是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。主要是从用户的需求出发,强调系统行为。BDD包括验收测试和客户测试驱动等的极限编程的实践,作为对测试驱动开发的回应。
持续集成CI(Continuous Integration)
持续集成强调开发人员提交了新代码之后,立刻自动的进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
持续集成过程中很重视自动化测试验证结果,对可能出现的一些问题进行预警,以保障最终合并的代码没有问题。
持续部署CD(continuous deployment)
是通过自动化的构建、测试和部署循环来快速交付高质量的产品。某种程度上代表了一个开发团队工程化的程度,毕竟快速运转的互联网公司人力成本会高于机器,投资机器优化开发流程化相对也提高了人的效率,让 engineering productivity 最大化。
对了,想要了解更多项目管理解决方案可前往CORNERSTONE。
推荐阅读
- 联运■连云港港全国首推集装箱铁水联运“一单到底”
- 汽车知识|第八代高尔夫到底值不值得买?1.4T自动Pro版全款多少钱?
- |奥迪开发基于C-V2X校车警示系统
- 人潮汹涌|丁真爆火第20天,到底谁才是真正的“幕后推手”?华春莹为他连发三推
- 微博目前已经支持文本,图片,位置分享,为啥没有语音和视频呢微博的pm肯定想过这两种微博形态,但迟迟不做的原因到底是啥。是语音和视频不符合产
- 什么|到底是什么原因?宝宝易咳嗽
- 汽车|长安汽车:公司与华为、宁德时代三方正在联合开发智能网联电动汽车平台和产品
- 京广和公司到底是干啥的
- 董洁|40岁的董洁到底怎么啦?少女造型被吐槽,女性的温柔感也不见了
- 啥是微信开发WEB前端
