对产品质量的一点思考

栏目: 编程工具 · 发布时间: 5年前

内容简介:不管是做产品还是做项目,也不管是采用瀑布模型还是敏捷开发,我们都有一个终极目标,就是能按时交付质量可靠的功能,其中质量尤为重要。本文是我对产品质量的一点思考,如果您所在的团队代码质量很高,很少出BUG,那么可以私信我,我们可以交流下关于代码质量的一些问题。

对产品质量的一点思考

不管是做产品还是做项目,也不管是采用瀑布模型还是敏捷开发,我们都有一个终极目标,就是能按时交付质量可靠的功能,其中质量尤为重要。

本文是我对产品质量的一点思考,如果您所在的团队代码质量很高,很少出BUG,那么可以私信我,我们可以交流下关于代码质量的一些问题。

小公司面临的问题

大公司里每个人指责分明,团队的人员配置也比较齐全,有完整的开发流程,流程也会不断的迭代优化,每个环节只要按照流程严格去执行,基本不会出什么大的问题。但不是每个人都能够进入到大公司,或者说会一直待在大公司,如果您是在中小公司,可能会有下面一些情况:

  • 没有专职的需求分析人员,没有专职的测试人员,很多时候是一岗多职

  • 没有不急的项目,客户永远说的都是越快越好

  • 虽然说唯一不变的就是变化,我们需要拥抱变化,但常常会即便拥有一双长臂,也无力拥抱

  • 需求来了,直接写代码,后期补文档

  • 代码中基本不写单元测试

  • 没有自主研发的需求管理平台

为什么会有上面的问题,我觉得很重要的一个原因是成本问题,专职需求分析需要人力成本,写单元测试、文档等需要时间成本,等等。短期看来是节省了成本,但从长远来看,会导致质量下降,最终会得不偿失,如果您是做项目,打一枪换个地方,我不做评价,如果是在不断地迭代成品,那么就要停下来好好思考下了。

我们的现状

10人左右的团队,需要做的事情如下:

  • 需求分析

  • Vue前端开发

  • dotNetCore后端开发

  • H5、小程序、iOS、安卓

  • 测试

  • 运维

上面说到,在小公司会是一岗多职,我们也不例外,大概任务分配如下:

  • 全员做需求分析,即便是新手,也要求做简单需求的分析

  • 后端工程师除了iOS和安卓不做,其他的都做

  • iOS和安卓工程师除了后端不做,其他都做

  • 只有一两个只做纯前端的工程师

目前来看,整个团队是偏全栈的,全栈的团队理论上效率会很高,的确,效率从来都不是我担心的问题,但质量问题却一直都没能很好的解决:

  • 开发人员还是更喜欢写代码,文档能力偏弱,虽然目前强制规定每个所做的需求在语雀上要写对应的需求文档,但很多时候写不到点子上,关联影响点也没有分析,给测试提供不了很好的支撑

  • 文档写不好,加上开发者的思维,很多低级问题在自测阶段不能被发现

  • 经常改了A模块的一个问题,引发其他模块的几个问题

  • 同样的问题会反反复复出现

怎样解决质量问题

取舍和平衡

我认为软件开发其实是在时间、范围、稳定性和代码质量上做博弈:

  • 时间:交付一个功能的期限,比如老板说3个月要上线某功能

  • 范围:需要实现功能的边界

  • 稳定性:随着版本的不断更新,用户使用产品的一个最直观的感受

  • 代码质量:代码是否是可复用,易于维护的,用户不能直观感受,但也同样重要

领导总是会说,这个时间节点非常重要,或者重要客户,不能延后,等等,总之时间节点后延的可能性不大。

稳定性也不能出问题,轻则客户满意度降低,重则会造成事故,给客户带来严重损失,客户可能因此就丢了。

所以只能在范围和代码质量上做取舍:

  • 本来应该三个月做的任务,非要压缩到一个月,那只能去和领导沟通,将一些不重要,或者不紧急的任务放到下一阶段完成

  • 如果范围也不能压缩,那就只能舍弃代码质量了,怎么快怎么来,但也因此欠下了一个技术债,债是需要偿还的,也是有利息的,还的越迟,利息越多。

自动化测试

自动化测试分为两个部分,构建之前的单元测试和构建之后的端到端测试

  • 单元测试又分为前端Vue的单元测试和dotNetCore的单元测试,在一个已成型的产品中去加单元测试是很困难的,所以只能先找一些关键点,经常出问题的点去尝试

  • 端到端的测试我们采用TestCafe,反复出问题的地方,就提炼出来一种业务场景,有针对性地去写测试代码

配合Jenkins,做到测试的自动化,那是不是有了自动化测试就能高枕无忧了呢?并不是,我觉得更重要的是,每个人员对产品要有深入的理解,对所做的需求要能完全掌握,对关联影响点的分析要没有任务遗漏。

测试只是手段而不是目的,我们的目的是写出好的代码,交付出无缺陷的功能。

总结

没有任何的方法论是可以生搬硬套的,只有不断的去学习、吸收、结合现有资源进行实践、不断的重复这个过程,直到找到一种适合自己团队的落地方案。

改善质量的道路任重而道远,不断地去尝试,去实践总会有些效果的。

您所在的团队又是怎么样来保证质量的呢?欢迎讨论。


以上所述就是小编给大家介绍的《对产品质量的一点思考》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

构建之法(第三版)

构建之法(第三版)

邹欣 / 人民邮电出版社 / 2017-6 / 69.00元

软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。 但是,软件工程 的技术对于投身 IT 产业的学生来说是非常重要的。作者有在世界一流软件企业 20 年的一线软件开 发经验,他在数所高校进行了多年的软件工程教学实践,总结出了在 16 周的时间内让同学们通过 “做 中学 (Learning By Doing)” 掌握实用的软件工程技术的教学计划,并得到高校师生的积极反馈。在此 ......一起来看看 《构建之法(第三版)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试