当前位置:网站首页>【软件工程之美 - 专栏笔记】35 | 版本发布:软件上线只是新的开始
【软件工程之美 - 专栏笔记】35 | 版本发布:软件上线只是新的开始
2022-08-03 04:12:00 【if...else...】
专栏信息
专栏作者:宝玉
专栏发布平台:极客时间

主要内容
一起学习一下如何做好版本发布,保障好发布产品的质量。
一、关于软件版本
为了明确标识软件版本,需要对版本进行编号。目前业界在软件版本的命名上,通常会采用以下方式:
主版本号 . 子版本号.[. 修正版本号.[构建版本号]]
其中主版本号和子版本号用来标识功能变化,小的功能变化增加子版本号,大的功能变化增加主版本号。修正版本号则表示功能不变化的情况下修复 Bug,而构建版本号表示一次新的构建,这个通常由编译程序自动生成。
二、版本发布前,做好版本发布的规划
实际上,并不代表你需要完成所有的功能,或者没有任何 Bug,有一个完美的版本才能上线。
版本的发布规划,是指规划哪些内容呢?
首先是规划好要发布的功能。
在发布前,搞清楚哪些是用户必须要有的功能,哪些是用户可以没有的功能。
然后是定义好发布的质量标准。
再有就是要设计好发布的策略。
考虑好是直接发布给所有用户?还是先让一部分用户试用?
让一部分用户使用 Beta 版也是一个好的发布策略。
灰度测试的发布策略。
最后,就是有一个综合性的版本发布计划。
在确定了要发布的功能、定义好了质量标准、设计好了发布策略,就可以制定一个综合性的版本发布计划了,确定好发布的时间点。
这个发布计划,不只是项目内部成员,还需要和项目之外利益相关方,比如客户、市场运营人员,大家一起确定最终的发布计划。
三、规范好发布流程,保障发布质量
有几个需要注意的问题。
- 首先是必须保证要编译部署的是正确的版本。
- 然后要保证版本稳定可靠。
- 再就是要在发布失败后能回滚。
针对这些问题,已经有些好的实践,比如说代码冻结、Bug 分级、回归测试等可以降低发布风险,保障发布产品的质量。
四、软件上线只是新的开始
当你的软件上线后,这不代表你的项目就结束了,可能这才只是新的开始。
用户在使用你的产品的时候,可能会遇到一些 Bug 或者是有一些建议,所以需要给用户反馈的渠道,让用户可以有途径对于 Bug 或者功能去反馈。
只是靠用户主动反馈问题还是不够的,需要主动的对发布的版本进行监控,比如说要收集 App Crash 的 Log、监控服务器资源占用情况、监控 API 出错的比例、监控网页响应的速度等数据。
五、其他摘抄
- 要在用户(或客户)的心理预期和你软件的实际情况之间,达到一种平衡,让软件的功能和质量,满足好用户的预期。
- 流程和规范能将好的实践标准化流程化,让大家可以共享经验。
- 软件上线只是新的开始,还需要收集用户的反馈,对线上服务进行监控和预警,对整个版本的开发过程进行总结回顾。
总结
做好版本发布,关键在于版本发布前做好版本发布的规划,以及采用一个科学的发布流程。
边栏推荐
- 肖sir ——自动化讲解
- Smart fitness gesture recognition: PP - TinyPose build AI virtual trainer!
- EssilorLuxottica借助Boomi的智能集成平台实现订单处理的现代化
- 测开:项目管理模块-项目curd开发
- 汇编书摘抄
- ESP8266-Arduino编程实例-MCP3008-ADC转换器驱动
- 阿里面试官:聊聊如何格式化Instant
- 记录一些遇见的bug——mapstruct和lombok同时使用时,转换实体类时数据丢失问题
- 2022 Henan Mengxin League Game (4): Zhengzhou University of Light Industry E - Sleep Well
- MySQL 删除表数据,重置自增 id 为 0 的两个方式
猜你喜欢

那些让电子工程师崩溃瞬间,你经历了几个呢?

install ambari

4.深度学习的几何解释与梯度的优化

Smart fitness gesture recognition: PP - TinyPose build AI virtual trainer!

Kotlin multiplication, how do I multiply smaller and smaller?

这个困扰程序员50年的问题,终于要被解决了?

电子设备行业智能供应链系统:打破传统供应链壁垒,提升电子设备企业管理效能

软件开发的最大的区别是什么?

普乐蛙VR台风体验馆厂家VR防震减灾模拟VR沉浸式体验设备

Chapter 8 Character Input Output and Input Validation
随机推荐
MATLAB(5)绘图
Redis-Redisson介绍和用途
数值类型转换02
8.电影评论分类:二分类问题
10.预测房价:回归问题
阿里面试官:聊聊如何格式化Instant
"Obs" start pushing flow failure: the Output. The StartStreamFailed call process
肖sir___面试就业课程____app
MySQL【约束】
Chinese valentine's day??To the liver is the way!!!!!Auto. Js special position control method
第3周 用1层隐藏层的神经网络分类二维数据
conda常用命令合集
ScanNet数据集讲解与点云数据下载
一文了解SAP IBP是什么?
SM30 表维护视图数据保存前 数据校验事件
Can Oracle EMCC be installed independently?Or does it have to be installed on the database server?
(2022杭电多校五)1010-Bragging Dice (思维)
2022 the first of the new league henan (4) : zhengzhou university of light industry G - maze
Redis连接不上的报错解决方案汇总
easyswoole的mysqli 事务怎么写