前言:从需求评审到研发到测试,再到项目上线,这经历了角色职责的不断演进,最终又回到了本质,质量度量。包括我司产研团队也希望项目的每个迭代结束后能够输出一份完成的质量报告!

项目上线质量如何评估

  • 一、项目上线质量指标
  • 二、研发过程质量
  • 三、用户使用质量
  • 四、非业务特性指标
  • 五、结语

一、项目上线质量指标

你认为用什么质量指标可以反映项目上线的一个质量?你可能会想那不是有很多质量指标么?多数和BUG相关,例如BUG数量、重新打开BUG数、BUG解决时长等等,好像都能体现上线质量啊。可仔细想想,我们衡量上线质量,不能只看这些,质量不应该简简单单的关联上BUG就可以了。

二、研发过程质量

既然不能只看结果,那我们就从源头开始看起。首先是需求质量,想要最终的上线质量高,那么源头的需求质量就不能太低,否则后续的研发工作做的再优秀,也不算好,很有可能一开始就跑偏了。我们需要在需求评审的阶段,从用户使用场景的角度出发,通过提问,把需求逐步澄清,并形成验收条件(可以用思维导图的形式记录下来),产、研、测三方共同确认,形成共识,以保证大家对需求的认知不发生偏差,为后续团队做正确的事提供有价值的指导。根据用户故事的基本特性(我之前使用的是jira管理项目,用户故事就是当时敏捷团队提出来的,它可以对需求进行故事拆分),做到业务可验收、研发可实现、测试可验证、部署可上线。

再来看看研发过程的质量体现,对于代码质量,开发自有代码规范。我们主要从更宏观的角度来看,个人认为有两个指标需要关注:构建成功率和缺陷趋势图。

构建成功率能很大程度上反映研发的提交质量,如果经常性地编译失败或者自动化测试不能通过,那么就需要引起重视,尝试去了解原因并找出解决方案,因为构建失败意味着最基本的业务保障都出问题了。

缺陷趋势图可以很好地反映缺陷的整体变化趋势和处理缺陷的时效性问题。如下图,大体上可以看到迭代缺陷的变化过程,缺陷在迭代中期被集中消灭的比较多,没有拖延到迭代后期,有利于测试的回归和其他方式的验证,降低风险。

再来看看上线到生产的质量评估,这里主要提两个维度:上线时长和缺陷存留。上线时长体现了团队的上线能力,是否可以在用户期望的时间内完成上线,如果时长太长,用户的满意率下滑,你很难说本次上线的质量很高。因为最终评估标准是用户用上了,才能算好。

再来说说缺陷存留。曾经遇到过一个版本,遗留了20多个问题,测试报告也写测试通过,然后发布上线。虽然那些问题都是小问题,但是这么多的遗留问题,如果让用户遇上了,那会产生什么样的糟糕体验?我们可以允许有部分问题延期到下个迭代修复,但总要有个底线吧。

三、用户使用质量

如果仅仅从研发团队的角度来看,上面的那些指标好像也够了。但是,我们常说以终为始,上线增量功能并不是我们的终点,用户的使用才是迭代上线的终点。所以我们在评估项目上线质量的时候,也要把这方面的指标加上。

线上缺陷遗漏率:指的是线上发现的缺陷。不论你的研发过程再优秀,测试发现bug再多,如果线上缺陷被较为轻易的发现,我们也很难说上线质量很好。虽然可以找很多的理由,但还是希望能够去避免类似的情况出现。包括我的领导一直在强调:我们现在不仅要完成上线,还要追求过程可回顾、可追溯、可总结、可提升,关联到我们部门流程或者整个协作流程的一个提升,关联到大家实际工作结果回顾提升,关联到大家质量把控能力的提升。这真的是说到点了,我自己现在也在抓上线质量,我相信我的团队还有很大的提升空间!

用户反馈:这里指的是用户的真实反馈,有机会去听听用户的心声。不要总是自我感觉良好。如果用户反馈使用很不方便,或者难以接受,那么我们的上线质量也不可能太好。这点可以和前面提到的需求质量相关联,因为这是需求质量的最直观体现。

数据埋点:如果说用户反馈过于主观,那么必要的数据埋点,有利于我们更加客观的去分析上线质量,比如改版前后比较,新功能的点击率,关键路径转化率,错误率,等等。如果你迭代的功能没人用,谁比较尴尬呢?要注意的是,埋点数据可能会有延迟,参考这类数据时,我们要把把时间线放长一些。

四、非业务特性指标

理论上来说,上面那些指标,已经能够比较客观地反馈出迭代的上线质量了。但是在敏捷的场景下,时间短,任务重。有些在瀑布模式下比较注重的东西被忽略了,那就是非产品特性的质量。最典型的,就是可维护性和可扩展性。在瀑布模式下,我们会比较关注这两类的问题,因为上线时间长,如果不注意,后期的运维难度会很大。而在敏捷的环境中,因为上线任务重,加上敏捷提倡重构,所以研发对于代码的维护性和可扩展性并不会考虑太多(都想着会重构,但往往都没有重构的时间),在迭代中也没有预留相应的时间做技术债务的偿还,日积月累,屎山代码就慢慢产生了。目前我团队的技术需求也是挺多的。

五、结语


以上,从三个方面讲述了关于项目上线质量的一些个人思考。作为研发侧的同学,可能关注的是过程质量,如果对代码或者研发有些追求的话,还需要关注非业务特性的上线质量。对于结果质量,这个看团队的追求。但是我觉得做一件事情,不仅要把它做完,还需要把它做好!

项目上线质量如何评估相关推荐

  1. springboot毕设项目教学质量评估系统8psea(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目教学质量评估系统8psea(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HB ...

  2. 九、软考·系统架构师——系统架构质量及评估

    系列文章 一.程序员进阶架构师的基础知识[计算机基础] 二.程序员进阶架构师的基础知识[操作系统] 三.程序员进阶架构师的基础知识[计算机网络基础] 四.程序员进阶架构师的专业知识[软件工程基础] 五 ...

  3. 项目外包 质量把控从头理

    在企业信息化进程中,越来越多的项目外包出去,越来越多的风险随之而来.IT外包的质量控制,从哪儿开始抓起呢? 1776年,英国著名经济学家亚当·斯密的<国富论>出版,在书中,斯密对" ...

  4. 项目上线后出现bug该怎么解决

    在公司中测试人员最基本的职责就是保证项目的质量,尽可能把bug都在上线前找出来.但是实际工作时由于各种各样的原因,不可避免的会有些问题会在上线后被发现.那么如何能够快速的处理这些线上的问题,降低bug ...

  5. 记一个自己项目上线的全过程

    个人终于第一次完成了一个java web项目从策划到最终上线的全过程,虽然项目十分简单,但全流程跑通的感觉还是倍爽的,之后再做项目则只是各个环节上的细化了. 现在我将我的"第一次" ...

  6. 如果项目上线在上线期间出现BUG改怎么办?

    1. 如果项目上线在上线期间出现问题改怎么办? 1.首先要做的是重现这个问题并反馈给研发人员,尽快出patch或者解决方案. 2.当BUG解决且上线没有问题之后,我们再看后续的处理. 追查原因及处理方 ...

  7. 项目上线前出Bug,测试人该如何调整心态

    当你在测试阶段最后两天,发现测试执行情况不理想,和预估的进度相差较大时,是否会焦虑到不知所措? 当你在上线前发现一个严重的问题,修复后需要重新执行一些验证测试及增加回归测试,此时你是否会惊慌? 当最后 ...

  8. java检测工具_常用Java代码质量检测评估工具

    常用Java代码质量检测评估工具 1. PMD from http://pmd.sourceforge.net/ PMD能够扫描Java 源代码,查找类似以下的潜在问题: 可能的bug--try/ca ...

  9. 【信息系统项目管理师】第九十十一章 项目成本质量资源管理

    第九十十一章 项目成本质量资源管理 第九章 项目成本管理 1.项目成本管理的过程有哪些 规划成本管理,成本估算,成本预算,成本控制. 成本管理计划是项目管理计划的组成部分,描述将如何规划,安排和控制项 ...

  10. SAP MM 项目上线库存初始化导入问题 --- 进口物料在途库存之处理

    SAP MM 项目上线库存初始化导入问题 --- 进口物料在途库存之处理 项目实践中,在上线前夕导入初始化库存的时候,存在在途库存.当以贸易条款FOB或者EXW进口物料的时候,供应商一旦货物装船离港, ...

最新文章

  1. java微积分计算步骤_一次刨根问底的收获——从一道微积分题说开去
  2. 复盘从一个监控主机到核心路由沦陷
  3. 将 Observable.pipe 的输入参数手动分解
  4. 你的公司,远程办公多久了?
  5. J2ME程序员容易遇到的问题!不断更新中_2008.05.17
  6. 英特尔发布边缘软件中心,抢滩 650 亿美元智能边缘市场!
  7. java linux命令远程执行_java执行远程服务器上的shell命令
  8. mac 上 php 验证码不显示图片
  9. EViews9.0程序安装及注意事项
  10. Linux忘记密码修改密码
  11. python和basic语言的区别_Python语言是什么?学Python语言有前途吗?
  12. 【论文阅读 | 冷冻电镜】RELION 4.0 中新的 subtomogram averaging 方法解读
  13. Auto.js逆向分析-提取脚本文件(附源码)
  14. 串列配置(Tandem)在Kintex-7互联TRD中的实现
  15. 苹果手机充值显示服务器繁忙,iTunes充值常见错误和解决方法
  16. 1275配对碱基链 1852玛雅文字 +map讲解 (map)
  17. 单片机:STC89C52的最小单元
  18. MaxWell抓取数据
  19. 【半年总结】思想与技术的腾飞
  20. 【信息论与编码 沈连丰】第四章:离散信源的信源编码

热门文章

  1. 如何清除 Linux 命令行历史记录
  2. 获取当前日期上周的周一和周日日期
  3. 史上最最最没用程序——自写平衡化学方程式
  4. 胡侃学习(理论)计算机-From 南大小百合
  5. 一起来看看阿里开源的15个顶级Java项目
  6. java math 最大值_java 中Math 的常用方法
  7. java引入math包_java.math包应用
  8. Unity提取模型动画
  9. 当我们在谈论高并发的时候究竟在谈什么?
  10. 万物皆可DAO?一文带你全方位解读DAO类型