Lessons Learned 1(敏捷项目中的变更影响分析)

问题/现象:

业务信息流转的某些环节,会向相关人员发送通知邮件,邮件中附带有链接,供相关人员进入察看或处理业务。客户要求邮件中的链接,需要进行限制,只有特定人员才能进入处理或察看。总管想了想,应道没问题,不一会儿就改好了,在业务信息的查询方法中添加了限制——非处理人不得进入。测试这边,忙得脚不沾地,一人扛了两个项目的测试,但还是按照预先设计的测试用例,对该修改进行了测试,测试结果ok,非处理人通过邮件链接进入后,确实提示了“你没有权限,翻滚着离去吧”。

当晚发布生产后,客户一封邮件甩过来:管理员和法律部的为何看不到业务数据了!?没法工作了!

以为我们很辛苦才找出问题所在?No,一干人等晃眼一看,不,连代码都没有看,把总管一审问,就清楚原因了。总管修改的查询方法是公用的,管理员和法律部查看、维护业务信息,都得从这过;他这一修改,相当于加了个栅栏,全给拦住了,而他自己根本就没有想到会影响其它功能。项目经理郁闷,这么简单个原因,就得发紧急版本,咋个跟领导解释嘛,你好歹也整个高难深的问题撒。测试也后悔,当时真不应该把这个场景的回归优先级放那么低。

原因:

流入:1、开发人员对哪些是公用方法只有一个模糊的意识,不清楚具体有哪些故事涉及到了这个方法,也没有与相关负责人沟通修改方案,也没有将此信息在站会或其它形式上分享出来。

流出:1、测试没有对相应的回归场景进行测试,其原因在于当时测试人力存在瓶颈,故对回归用例排定了优先级,该场景的优先级较低,最后由于需按时封版,就舍去了这部分用例。优先级的排定,是测试根据经验和与各故事负责人讨论的结果,平衡质量风险和进度后确定的。

预防措施:

1、建立影响评估机制。

添加检查项,开发人员在将故事、故障、技术任务转换为开发完成状态时,须检查是否修改了特定类中间的方法,只要有修改,就须在卡片中标出,并在站会上分享出来。

所有人员在站会上获取信息后,评估自己的故事是否有受到影响。

测试人员根据大家提供的信息,排定回归测试用例及其优先级。

这个特定类,将根据项目的运行,每个迭代进行回顾和更新(如有必要)。

2、建立最小测试集。

业务代表和测试人员,根据业务特点,制定最小测试集,覆盖所有必需的故事。每次迭代,不管有无影响,均须完整执行这个测试集。

经验:

放过没有系统的权限设计不谈,此次问题说明了变更影响分析的重要性。

最重要的两点是信息的收集和影响点的识别。具体方法可以视项目特点而定。可以是重量级的追踪矩阵,也可以是轻量级的检查单加头脑风暴,成本和收益对等即可。关键是保证影响所带来的质量风险被压缩在可控和可接受的范围内。

同时,对于会给业务造成致命和重大影响的故事,是无论如何都需要测试通过的。如果没有时间进行全回归(对于很多项目,测试人力估计都是瓶颈所在),这一块测试所需的资源,是必需保证的。

所以,启动会上,迭代范围和故事点的评估,并不只是开发关注的事情,测试也需要给出信息,以便让项目组给出更为符合自身节奏的迭代计划。

时间: 2024-08-09 23:59:44

Lessons Learned 1(敏捷项目中的变更影响分析)的相关文章

iOS支付宝支付(Alipay)详细接入流程以及项目中遇到的问题分析

iOS支付宝支付(Alipay)详细接入流程以及项目中遇到的问题分析 浏览: 149 发布日期: 2016-10-19  分类: ios 最近在项目中接入了微信支付和支付宝支付,总的来说没有那么坑,很多人都说文档不全什么的,确实没有面面 俱到,但是认真一步一步测试下还是妥妥的,再配合懂得后台,效率也是很高的,看了这篇文章,你也只要几分钟, 就能轻松接入支付宝,在别人投来崇拜的眼光的同时,你就能潇洒的回一句,略懂略懂......   先给大家我写的微信支付,很详细哦,喜欢的点个赞点击打开微信支付链

项目中的软件测试管理分析

项目中的软件测试管理分析

传统的项目经理在敏捷开发中怎么弄?

非常好的一篇文章,为了自己学习和方便大家,翻译了一下~~ Who handles conventional project manager duties in agile development? 在敏捷开发中谁来分担传统项目经理的责任? Traditional project managers usually take on a great deal of responsibility. They are responsible for managing scope, cost, qualit

PHP项目中composer和Git的组合使用

在需要使用composer package的地方创建composer.json: { "name": "kidsit/myphppackage", "type": "wordpress plugin", "repositories": [ "type": "vcs", "url": "[email protected]/kidsit/my

讨论下敏捷方法中的项目驱动力

项目的推进必须有一种推动方式,这种推动方式是通过超短期目标来实现的,有效的项目管理,这种短期目标甚至可以规定到小时的级别,这个小时干什么,下个小时做什么都可以制定到项目计划里面.实际工作中,如果能把任务精确到天,那么这个项目的推进就已经是非常之高效的了. 而在敏捷方法论中,不同的具体方法强调不同的项目驱动方式,比如用例驱动开发,测试驱动开发,需求驱动开发等等.在宣传自己具体的项目管理方法时候,各种具体方法都在强调自己的驱动力是万能的,可以作为核心驱动力来把握.以TDD测试驱动为例,很多信仰测试驱

《AndroidStudio每日一贴》2.高速查看项目中近期的变更

<AndroidStudio每日一贴>2.高速查看项目中近期的变更 高速查看项目中近期的变更,使用快捷键: option + shift +c 很多其它有用技巧请查看<AndroidStudio有用指南> 博客:?http://blog.csdn.net/wirelessqa?作者: 老毕 原文地址:https://www.cnblogs.com/llguanli/p/8899064.html

我的第一个敏捷项目总结

2016年11月开始了休长假回来后的第一个项目.也是我职业生涯中的第一个敏捷项目.本人在项目中担任需求分析. 项目启动已经五个多月,目前一切运行乐观.闲来觉得有必要总结下人生中第一个敏捷项目,于它人可以取良去莠, 于自己可以沉淀一二. 回想一下之前做过的项目都是用瀑布+迭代. 需求收集用瀑布.即尽量在需求收集时期定义到所有需求的所有细节,产出产品需求说明书.开发阶段采用迭代.即把需求划分为多个模块,分Sprint 开发.所以不同之处主要在于需求收集和需求管理,其次是才是开发,再次是测试.下文将在

让敏捷工具在敏捷开发中发挥高效作用

敏捷软件开发绝不再是一个新名词了,但理解还是时时有偏差.敏捷宣言中的第一条“个体和互动高于流程和工具”,有人就误读为“有了沟通,一切都迎刃而解” ,因此花费大量精力整顿团队合作,却轻视了工具(技术).其实宣言中的意思只是想强调个人和沟通更重要而已. 实际上,既然是软件开发,在所难免得面临工具的选择,而且很多优秀软件实践离开强有力的工具支持都玩不转.在如今的软件开发世界中,工具(这里谈的是软件工具)层出不穷,数不胜数,那么到底该怎么去选择适合的工具呢? 本文将根据我十几年的企业级软件开发经验给出一

敏捷项目风险管理落地

发现很多做项目的同学,会忽略对项目风险的管理,以至于成为项目的救火队长,处理各种应急事件.为了让项目开展更顺畅,避免出现项目既乱又累的问题,不应以战术上的勤奋,掩盖战略上的懒惰,梳理总结下敏捷项目的风险管理落地.通常项目中风险管理,目的在于提高项目中积极事件的概率和影响,降低项目中消极事件的概率和影响.首先,我们先回顾下传统项目中PMP阐述的风险管理知识点,然后分享下我们软硬件项目中如何进行风险管理的,最后分享他山之玉百度工程效率部总结的风险管理干货. 一.传统项目的风险管理1.规划风险管理主要