软件测试基础之敏捷开发
阅读本文大概需要 3 分钟。
要问当前互联网公司普遍采用的开发模式是什么,毫无疑问那就是敏捷开发,据统计,目前90%的软件开发模式都采用敏捷开发。本文就给大家普及下敏捷开发的整个来龙去脉。
敏捷开发是什么?
百度百科的定义:
敏捷开发(Scrum)以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
这么一大段有点不好理解,可以简单理解为:
适应变化,不断迭代。
为什么要采用敏捷开发,它跟传统的瀑布模式有什么不同?
在传统瀑布模型的开发中,软件开发过程从前到后被分成需求、设计、开发、测试几个固定的阶段,像瀑布一样下来,整个需求都是批量开发、批量测试、批量交付。
这样的模式有以下几个缺点:
项目的生命周期完成后,最后才能看到项目的成果。
项目过程中,有效的反馈太少。
不能够很快的适应客户的需求变更。
首先互联网产品的几大特点:需求变化快。一般都要以用户需求为核心,先初步设计和开发出部分功能,再根据市场和用户的反馈信息,不断调整修正自己的需求和目标。
快速迭代,快速反馈,快速修正。
所以采用敏捷的好处:
早期交付,从而大大降低成本。
及时了解市场需求,降低产品不适用的风险。
一个完整的敏捷开发过程
产品经理收集需求,形成产品待办列表
项目团队参与迭代(sprint)计划会,形成迭代任务
开发团队进行具体的开发任务,每日站会。
开发团队进行成果演示(迭代评审会),产品经理,市场/高层,项目经理参与
评审通过,产品上线。评审不通过,再对产品做修改。
开发团队与项目经理进行迭代回顾会,分析好的地方和需要改进的点。
scrum 开发中的四个会议:
迭代(sprint)计划会:需要做什么,怎么做,什么时间完成。
每日站会:昨天做了什么,有什么风险,今天计划做什么。
迭代(sprint)评审会:大家评审迭代的产出,然后对待办事项做相应调整。
迭代(sprint)回顾会:讨论哪里完成好,哪里需要改进。
Scrum中的三种角色:
产品经理 Product Owner:产品负责人,明确整个产品的需求和定义。
项目经理 Scrum Master:敏捷专家或者敏捷大师,确保Team按照Scrum的方式运行。
开发团队 Dev Team:研发人员,包括开发、测试、UI等。
敏捷的四个价值观:
个体与交互胜过过程和工具
可用的软件胜过完备的文档
客户协作胜过合同谈判
响应变化胜过遵循计划