【2022年度系列工作总结】「国内软件质量调查问卷」针对于本年度软件质量分析总结报告

news2024/11/13 23:33:40

前提背景

针对于目前的软件行业而言,软件的质量目前越来越被大家所在关注,慢慢的QA以及SQA的角色也变得愈加重要。接下来我就针对于我司(XXX)的相关的实际开发情况对应的【2022年国内软件质量调查问卷】,为大家梳理和归纳一下目前存在的问题,想看看您或您所在的团队(公司)是否也存在着此类问题呢?好我们废话不多说,直接进入主题。

团队信息介绍

调研总结跨度

我从事于目前的这家公司,时间的跨度是【2021-08-04】~ 【至今(2022-12-18】,已经工作了慢慢接近一年半左右了。

技术行业领域

公司从事相关的【呼叫中心】以及【智能语音机器人】的相关领域的开发行业,目前做的市场份额还是不错的,属于一家跨国的创业型公司。感兴趣的小伙伴欢迎与我私信交流哈。

团队大致规模

目前我所属的团队的规模是Java应用后端开发组,分布在三个城市地区,国内外都有,大概20~30人之间的规模,针对于我一个人去管理整体的进度还是比较的游刃有余的。但是经历了快速迭代的节奏之后暴漏出了很多的问题。

在这里插入图片描述

版本迭代与质量的关系

从事于软件开发行业,相信版本的快速迭代是难免的,无论是领导要求还是客户要求、甚至是老板要求的都需要快速的落地,但是落地是好落地但是质量如何良好把控就成了一个难题。

团队目前主要采用什么开发模式

由于团队数量人数并不是很多,所以目前采用的是【敏捷中的Scrum框架】 + 【瀑布模式】共存的混合模式,进行驱动我们的业务开发节奏和计划。对应的角色我承担的是Team Leader及部分的Master的角色。不了解的小伙伴们可以直接去定位到【Scrum的模式的额外科普】这一小节。
请添加图片描述

  • 每个团队都有负责人 作为JM作为对应的需求迭代管理者
  • 每个团队都有负责的领域、并且每个人都有对应的负责功能项
  • 每个JM都可以对应N个产品所属人。

产品交付的周期多长

就我们目前的开发进度和迭代周期而言如下所示

主要版本的迭代周期小版本周期紧急补丁包(hotfix/patch)备注
一个月一周或两周<=天目前的版本迭代速度偏快了

总体我们经历了从入职到现在大版本从现在的版本的范围是1.35 ~ 1.43版本(进行中),这milestone大概是到2023年1月中旬左右。到年底估计会达到1.43.1的这个版本。

  • 目前大致版本经历了8个大版本(存在延迟以及进度问题以及一些其他可控因素(疫情)),
  • 小版本不计其数,据我所知大致100个左右。
  • hotfix以及patch更多了,估计150个以上。

如何保证软件需求质量?

对于CSDN给出的选项我大致排了一个优先级顺序,优先级越高我们需要重视的力度就会高!小伙伴们看看你们的顺序是否和我的保持一致?

  • 有明确的需求规范
  • 在会议上集中评审
  • 有SQA这样角色的专人检查
  • 严格的需求评审流程
  • 需求管理系统对基线、变更等审核、管理
  • 完善的需求工程体系其他
我们的排序就是一下的流程顺序

在这里插入图片描述

  1. 其中我最重视的两项便是【有SQA这样角色的专人检查】,因为这项算是最后兜底以及质量把控的最重要一项,算是万无一失的双保险吧。

  2. 【严格的需求评审流程】需求评审的重要程度,很多人觉得比较奇怪,其实非常好的需求评审,让我们对需求的理解有很大帮助,有一句话叫做好的"良好的开局,就是成功的一半!",对吧!随意只有需求明确了才能造就好的开端以及正确的需求方向。事实上我们很多的时候都是需求不明确导致研发的开发方向出现了偏差,以及需求总是频繁修改,导致代码的不一致和健壮性不好。

  3. 【需求管理系统对基线、变更等审核、管理】,当出现多个版本的需求的迭代开发的时候,经常会出现混乱,导致出现了版本合并的问题,引起后面上线所出现的线上紧急问题和bug。

需求质量是重中之重

CSDN基于的选项

  • 没有规范的需求文档模板
  • 需求文档描述模糊、细化不够需求文档
  • 缺少典型的应用场景、用例(USE CASE)
  • 需求文档缺少验收标准(未实施AT DD)
  • 需求评审走过场(流于形式)
  • 需求变更频繁
  • 需求变更缺乏有效的控制
  • 需求文档不能及时更新
  • 需求文档缺少系统来跟踪、管理其他

从我的经验之谈和目前的状况我们公司目前存在最大的问题就是我上面几个问题:
在这里插入图片描述
我把上面这几个称之为造成需求开发版本出现失误的四大“罪状”。

首当其冲

【需求文档描述模糊、细化不够需求文档】,知道什么意思吗?“以己昏昏,使人昭昭”,很多产品自己都是蒙圈的状态,然后很多细节都不写,我们知道开发程序最重视的就是细节,而产品自己都不清晰,还玩什么呢!所以未来需求文档的质量一定要提出来把控好,把质量抓起来!

不够重视

【需求评审走过场(流于形式)】往往就是对于日程的开发工作中,最不受大家重视的了,有问题只希望自己去猜测需求,不在真正有意义的场景去处理和解决,就是程序员的很大的通病哦,至少非常在我们这边还是很严重的,需求评审大家只依赖于产品的思想去发挥,不过需求隐藏在表面之下的问题,依然无法被我们发觉,后果就是导致bug特别多,而且需求澄清也出现了少许问题,最后导致质量不断地下滑,这一切的一切很可能就是当初我们没有做好前提工作所引发的。所以在软件开发的每一个环节都应该努力重视哦!

因小失大
  • 需求变更频繁
  • 需求变更缺乏有效的控制

如果你是一个程序员,我相信如果要问到你最讨厌的行为一定是上面说的这两个点,总是在不断的变更需求,但是我觉得对需求变更是正常的,但是过于频繁就是有问题的了,任何事情都要有一个度,所以对于需求变更,要考虑三个问题:

  1. 时间问题

如果出现在封边以及马上上线的时候,那么就要慎重考虑了,是否修改的范围会影响很多地方,还有就是,是否需要重新评审方案等等,时间是否来得及,会不会影响上线时间等等。

  1. 紧急和重要问题

是否属于必须要上或者要改的点,如果不是特别紧急和重要的问题,最好还是保持不变,稳健起见,是否通过hotfix进行上线补丁。

  1. 影响范围

上面第一点【时间问题】,就是影响范围了,担心会导致其他问题的崩盘(改了这边,导致其他地方全面崩盘!因小失大)

在这里插入图片描述
希望大家有效的把控【 需求变更缺乏有效的控制】,可以根据我一上的这三点顺序来进行确认和评估是否一定要做出需求变更!

如何保证设计质量

  • 培养、设置能力很强的架构师设计规范
  • 选用成熟的设计模式
  • 加强设计评审(开发人员)
  • 邀请测试人员参加设计评审
  • 邀请运维人员参加设计
  • 评审原型(仿真)验证

面向于如何保证质量设计,我主要面向于【培养、设置能力很强的架构师设计规范】、【加强设计评审(开发人员)】和【邀请测试人员参加设计评审】这几个方面。

  • 主要面向于对于开发角度

加强设计评审(开发人员),提高对应的开发人员对需求的理解和吃透细节。

  • 主要面向于对于测试角度

邀请测试人员参加设计评审,提高测试的测试质量和能量水平。

  • 主要面向于对于规划角度

培养、设置能力很强的架构师设计规范

明年(2023年)软件质量改进,会侧重哪几个方面

  • 团队人员能力建设(培训)上流程改进上
  • 重新设计或优化架构代码重构
  • 研发基础设施建设质量文化建设

在这里插入图片描述

  1. 接下来就是我2023年的未来计划,大力加强重新设计以及优化架构,因为未来我们的最大的困难和目标就是性能和代码的鲁棒性,所以这个是我们的首要目标。

  2. 团队管理的规划管理技术,对于团队人员能力建设(培训)上流程改进上,进行规划新的目标和KPI计划。

  3. 研发基础设施建设质量文化建设,建立中台化服务机制,使得开发人员重点精力体现在【需求的开发迭代之中】,针对于功能化的功能,都交由中台化服务区支持就好了。并且叫单独划分团队去建立中台化服务。


Scrum的模式的额外科普

Scrum中的人员分为3个角色:产品所有者(Product Owner), Scrum Master,开发团队(Team)。

  • 产品所有者:定义所有产品功能,决定产品发布的内容以及日期,对产品的投入产出负责,根据市场变化对需要开发的功能排列优先顺序,合理地调整产品功能和迭代顺序,认同或者拒绝迭代的交付。
  • ScrumMaster :ScrumMaster不是项目经理,他没有分配任务的权力,没有考核的权力,没有下命令的权力,他指导项目组的成员按照Scrum的原则、方法做事情,领导团队完成Scrum的实践以及体现其价值,排除团队遇到的困难,确保团队胜任其工作,并保持高效的生产率,使得团队紧密合作,使得团队个人具有多方面职能的工作能力,保护团队不受到外来无端影响。
  • 开发团队:经典团队拥有 5-9 人,团队成员包含程序员、测试员、用户体验设计等等,团队关系在一个迭代中应该是固定的,个人的职能可以在新迭代开始时发生调整,团队自我组织和管理(自组织,自驱动),团队成员都全职工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/98918.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计Python大学生考勤管理系统论文(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

听说Linux基础指令很多?这里都帮你总结好了

✨个人主页&#xff1a; Yohifo &#x1f389;所属专栏&#xff1a; Linux学习之旅 &#x1f38a;每篇一句&#xff1a; 图片来源 &#x1f383;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 You can’t use up creativity. The more you use, the more you have. 创造力…

微软数据科学家助理(Data Scientist Associate)认证考试通过经验分享(DP-100)

今天冒着大疫情&#xff0c;去海淀的test center参加考试&#xff0c;通过了微软DP-100 在 Azure 上设计和实现数据科学解决方案&#xff0c;并且获得了经 Microsoft 认证&#xff1a;Azure 数据科学家助理 的证书。 经 Microsoft 认证&#xff1a;Azure 数据科学家助理 考试结…

Hadoop编译源码

文章目录第一章 Hadoop编译源码1.1 前期准备工作1.2 Jar包安装配置maven的环境变量在 mirrors节点中添加阿里云镜像安装gcc make配置环境变量1.3编译源码第二章 常见错误及解决方案第一章 Hadoop编译源码 1.1 前期准备工作 1&#xff09;CentOS联网 配置CentOS能连接外网。Li…

力扣(LeetCode)1703. 得到连续 K 个 1 的最少相邻交换次数(C++)

贪心 将至少连续 KKK 个 111 放在一起。首先考虑他们是相邻着放在一起的&#xff0c;然后考虑性质 : 设相邻摆放后&#xff0c;起始 111 的位置是 mid{mid}mid &#xff0c;对于每个 111 的位置 aia_iai​ &#xff0c;它需要被摆放的位置是 amidia_{mid}iamid​i 。考虑一个等…

【Effective_Objective-C_2对象,消息,运行期2】

文章目录前言12.理解消息转发机制消息转发动态方法解析动态方法解析的前提备援接受者完整的消息转发消息转发全部流程要点总结13.用“方法调配技术”调试“黑盒方法”方法调配动态消息派发系统和IMP如何交换方法实现要点总结14.理解“类对象”的用意在类的继承体系中查询类型信…

【经济学】【综合篇】经济机器是怎样运行的

原视频&#xff1a;经济机器是怎样运行的 (时长30分钟) Ray Dalio 前言&#xff1a;经济与我们每一个人息息相关&#xff0c;经济社会的一些变革或举措也会直接或间接的反映到我们每个个体身上。了解经济&#xff0c;提高自己的认知&#xff0c;可以帮助我们更好的参与经济活动…

excel数据统计技巧:如何对表格区域内所含字母进行计数

小王是一家快餐店的财务人员。受疫情影响公司开展了店外销售业务&#xff0c;所有销售采取手工记账的方式。为了简化销售人员的工作量&#xff0c;为每种商品指定了一个字母代码&#xff0c;营业员只需要记录每一单销售的商品代码即可。下面是根据手工记账登记的销售记录表&…

论文投稿指南——中国(中文EI)期刊推荐(第8期)

&#x1f384;&#x1f384; EI是国际知名三大检索系统之一&#xff0c;在学术界的知名度和认可度仅次于SCI&#xff01; 【前言】 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊。其中&#xff0c;中文期刊的…

【运筹优化】子集和问题(Subset Sum Problems , SSP)介绍 + 动态规划求解 + Java代码实现

文章目录一、问题介绍二、动态规划求解思路三、Java代码实现一、问题介绍 子集和问题&#xff08;Subset Sum Problems , SSP&#xff09;&#xff0c;它是复杂性理论中最重要的问题之一。 SSP会给定一组整数 a1,a2,....,ana_1,a_2,....,a_na1​,a2​,....,an​ &#xff0c;…

手写Spring7(实现bean的初始化、销毁)

文章目录目标设计流程项目结构一、实现1、 定义初始化和销毁方法的接口2、Bean属性定义新增初始化和销毁3、执行 Bean 对象的初始化方法4、定义销毁方法适配器(接口和配置)5、定义注册销毁对象、销毁实现6、创建Bean时注册销毁方法对象7、虚拟机关闭钩子注册调用销毁方法二、测…

UNIAPP实战项目笔记55 自定义Tabbar并使用Tabbar事件拦截未登录跳转到登录页面

UNIAPP实战项目笔记55 自定义Tabbar并使用Tabbar拦截未登录跳转到登录页面 点击购物车和我的的时候需要拦截并验证登录 通过验证的直接跳转,为通过验证的跳转到登录页面 通过自定义tabbar来实现 实际案例图片 正常跳转 拦截跳转 代码 pages.json 页面配置 {"pages&qu…

JDBC编程相关知识(实现图书管理系统进阶版)

目录 一、配置MySQL数据库驱动包 二、JDBC常规操作 1、创建数据源 2、建立连接 3、操作数据库&#xff0c;执行sql语句 4、关闭资源 三、JDBC实现图书管理系统 1、建表 2、连接数据库 3、创建实体类 a、Book类 b、BookShelf类 c、User类 d、Administrator类 e、…

jsp+ssm计算机毕业设计大学生足球预约信息【附源码】

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JSPSSM mybatis Maven等等组成&#xff0c;B/S模式 Mave…

java计算机毕业设计springboot+vue青少年编程在线考试系统

项目介绍 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。 论文主要是对青少…

AIGC stable diffusion完整部署手册 for linux

准备工作 &#xff08; GPU服务器4G显卡 &#xff09;&#xff1a; 1. 建议 Python3.10.7 以上的版本&#xff0c;最低不能低于3.10.5 2. pip pip3的版本升级到最新 pip 22.3.1 3. 安装python3.10.7之前先安装和升级 openssl-1.1.1q 4. yum安装源改成 阿里云 或者 清华 …

English Learning - L1-4 从此没有不会的表达(下) 2022.12.15 周四

English Learning - L1-4 从此没有不会的表达&#xff08;下&#xff09; 2022.12.15 周四5 动名词5.1 动名词都有什么作用作主语做表语做定语动名词做定语有啥讲究&#xff1f;做宾语5.2 动名词的复合结构---成功加入动名词自己的主语逻辑主语动名词复合结构作宾语时用普通格和…

2021年度汇总丨20大热门TWS耳机功能配置汇总解析

疫情下的时间匆匆而过&#xff0c;2021已成为过去&#xff0c;2022年正式开启。在过去的一年中&#xff0c;以TWS耳机为代表的音频市场依旧保持着健康稳定的发展&#xff0c;彰显这一市场超强的活力和朝好的未来发展。 回顾2021&#xff0c;这一年中&#xff0c;我爱音频网365天…

直线检测霍夫变换VS深度学习

1. 引言 直线检测有很多应用&#xff1a;例如&#xff0c;创建矢量化图、端点检测等。在这篇文章中&#xff0c;我们不讨论其具体的应用程序&#xff0c;而是重点关于于如何使用传统算法和深度学习的方法来进行直线检测&#xff0c;这里我们将对二者进行相关比较。 闲话少说&a…

经典算法之异或运算(无进位相加)

目录异或运算的定义异或运算的性质异或运算的应用交换两数翻转指定位寻找单身狗异或运算的定义 众所周知&#xff0c;计算机中的所有数据都是以二进制&#xff08;0或者1&#xff09;的形式存储。而异或运算符&#xff08;^&#xff09;就是将参加运算的两个数据&#xff0c;按…