当前位置: 首页 > news >正文

字节3次都没裁掉的7年老测试。掌握设计业务与技术方案,打开上升通道!

前言

职场中的那些魔幻操作,研发最烦的是哪个?

“面对业务需求的时候,可能都听过这样一句话:

这个很简单,直接开发,三天内上线;”

朋友说:

“产品听了流泪,测试见了崩溃,研发眉头一皱直呼什么鬼;

如果没有听过,只能说你幸运爆棚,但职场的经历可能是不完美的;

这种魔幻般的神奇操作,逻辑在哪里?底线在哪里?唯独离谱在这里;”

我跟他说:“你说的很有道理,我看你挺想聊,上次你说的大伙看得都很开心,这次你不如再深入聊聊?”

“缺乏设计你懂吗?”朋友没理我,自顾自道。

“产品研发抛开业务设计所带来的反伤,也许会迟到,但绝对不会缺席;

所谓的简单业务流程,仓促上线之后,后续补坑的成本可能高的离谱;

相对于完整的研发周期来说,设计、落地、一次性的高质量完成,就是成本最低,效率最高的决策;”

“对于研发角色,方案设计通常就是围绕技术和业务两个核心;”

常用的方法论总结

在做方案设计时,必然要运用一些基础的方式方法;

有关方法的经验总结很多,但是真正常用的并不多,以下只围绕个人在工作中常用的几个来分析;

本质:

理解本质的时候,必须明确在一定的空间和时间范围内,需要有边界约束;

如果范围扩大,考虑的因素太多,相互间的影响和关联过度复杂,脱离实际太远,很难得出符合现状的结论;

在工作中时常会说:透过现象看本质,理解不同事物的共性和个性,判断发展逻辑;

那么,如何理解产品研发的本质?

基于业务的供需关系,持续打造优质的产品服务;

这个描述只是个人的实践体会,对于事物的本质理解,应该简单明了,直击核心内容;

矛盾

矛盾是指事物内部以及事物之间的对立统一关系,虽然概念很抽象,但现象几乎是无处不在;

用通俗的方式来理解,就是需求和利益之间的冲突且统一的关系;

以常见的平台商业形式来思考;

平台方:希望以低成本的服务获取更高的营收;

客户方:希望以低成本获得更好更优质的服务;

平台与客户双方,都希望低成本付出,获取更高的回报,矛盾就这样产生了;

但是,平台失去客户,没有持续生存的能力;客户本身又依赖平台服务,关系既统一又存在冲突;

双方的合作,随着不同阶段的核心问题被解决,即事物的不断发展变化,新的问题和矛盾也会出现;

系统

理解事物的全貌,横向扩展的广度,纵向发展的深度,在时间空间的变化中,以动态的思维应对事物的变化;

简单的说就是:全面的看事物,系统的解决问题;

以实际的研发案例来分析;

面对并发业务的复杂流程时,比较经典的就是抢单场景,处理的思路有很多种;

如果资源足够,直接扩展以支撑请求处理;

如果资源不足,可以限制请求端的放行比例,服务端只处理少量请求;

或者服务端对请求异步解耦,快速失败掉大量的请求;

所以在面对问题时,不必只片面的看一个方向,围绕问题的矛盾多方,统筹寻找平衡的解决方法;

周期

在周期现象中,存在事物的发展和演变规律;

即事物在运动、变化的发展过程中,某些特征多次重复出现;

比较经典的现象就是业务的发展周期:孵化期、验证期、成长期、成熟期、衰退期、转型或者消亡期;

理解事物的发展周期,可以在不同的阶段把握核心事项,解决关键问题;

分治

分而治之是研发的核心能力之一,强调对复杂事物的拆解能力;

随着技术水平的成长,面对的业务问题也更加复杂,必须具备拆分能力,分而治之;

流程的分段管理;技术与业务的分离;代码工程的分层维护;系统的分布式架构;

这些都是研发过程中常用的分治手段;

面对诸多的方法论,首先围绕几个基础方法进行思考和实践,从而理解其内涵和精髓;

然后,再借鉴其他的方法,形成自己的方法体系;

基于一些核心的方法论之上,再去思考业务和技术的设计,在思路上就会成熟很多;

如何分析业务

想要分析业务,首先要深刻的理解和洞察业务整体;

在个人习惯上会考量三个层次:首先理解业务全貌,其次理解负责的业务板块,最后理解具体的业务需求;

理解业务全貌

理解业务全貌,本质就是明白公司在做什么,组织架构的协作流程,团队的工作方向;

业务的常规定义:行业的基本模式,运作的流程,具体的事务执行;

在实际的工作中,职级越高越是需要具备对业务全貌的分析能力;

行业分析并非普通玩家所能理解的,需要极其顶级的思维和知识储备,以及对各个信息的统筹分析;

作为研发来说;

应该理解业务的投入和营收,并且能意识到这种模式是映射到产品设计或者服务中的;

必须理解业务模式所对应的产品矩阵设计,各个核心功能的流程和路径;

理解负责的业务板块

个人的工作习惯,并不是常规的流程机制;

明确自己负责的业务板块,把握工作重心,不同阶段中调整能力的输入(学习)和输出(生产价值)策略;

产品矩阵的设计与业务模式有直接关系,也是梳理自己工作板块的核心依据;

对于产品来说,常见的拆分有两种;

例如以端口为依据划分的C端和B端,以系统为依据划分的业务应用和数据应用;

对于业务来说,拆分的模式则更加灵活;

在运营概念上可能有多个业务线,但是对于研发来说,各种业务线之间存在诸多的流程交互;

对于个人来说,可以从业务、技术、数据三个基础的方向梳理,或者根据具体的运营模式梳理;

理解业务全貌和个人的负责板块,以此明确工作重心和方向;

理解具体的业务需求

理顺业务全貌与自己负责板块,更偏向于内在的务虚方向;

研发对于职场的真正价值,还是在于各个版本的具体需求实现;

分析具体的业务需求时,依然有一个对齐的过程;

将具体的业务需求向业务全貌对齐,理解其价值所在;

将业务需求向自己的工作板块对齐,理解自己的价值所在;

实现版本的业务需求,既要对齐大的业务框架,也要理清需求本身,把握版本落地的质量;

理解技术架构的演进

对于技术规划来说,通常分为:业务和技术两个方向;

可以分析一个复杂系统的迭代过程,从而理解技术方案在规划设计上的演变规律;

横向扩展

从架构的概念来描述:单服务、集群模式、分布式服务、系统级分拆;

横向扩展,其映射的是业务流程和模式的复杂度,随着业务的不同发展阶段,需要进行不同级别的服务拆分;

纵向扩展

从单个系统架构的纵向来分析:展现层、应用层、业务层、组件层、存储层;

纵向深入,其映射的是业务逻辑的复杂度,在纵向上进行分层设计,可以降低逻辑管理的难度;

业务研发

基于常规的分布式系统来看,业务研发在演变的过程中,也会拆分为应用级业务,公共业务两大板块;

应用业务实现的是具体需求场景,而公共业务则是大多数应用都依赖的基础业务能力;

技术研发

基于常规的分布式系统来看,合理的架构设计,必然会追求技术与业务的分离;

在代码工程的分包上,可以独立封装技术层面的组件应用,以便于统一维护和升级;

在服务级别上,可以将组件服务拆分为业务(侧重业务解决方案)与技术(侧重技术解决方案)两个层次;

分析业务,把握技术架构的演进历程,将二者进行统筹结合,就是方案设计的主线;

统筹技术和业务方案

设计研发方案,自然需要把握业务的整体,规划技术架构,确保业务和技术双线推进;

方案的核心则是围绕当前阶段的具体业务需求,设计实现流程、目标、指标;

业务和技术的演进

分别把握整体与阶段的核心目标,作为方案设计的基础指导原则;

从业务整体上看,系统建设与技术架构应该围绕大的业务目标去考量,支撑或者驱动业务发展;

从业务阶段上看,把握当前阶段的业务本质,关键问题与核心矛盾,在版本需求中有序解决;

业务和技术的流程

分析业务的运转流程和特征,映射为技术的实现过程,作为方案设计的核心思想;

业务的运转流程,围绕客户、产品、组织协作来设计,侧重于场景的分析;

业务映射的系统流程,将业务流程和特征转化为系统实现的流程,侧重于两者的统筹分析;

核心逻辑的实现流程,围绕具体需求,设计逻辑时序图,侧重于关键问题的分析;

业务和技术的目标

围绕具体需求,设定相应的目标和指标拆解,作为方案执行结果的考量标准;

版本需求立项之时,就对结果有明确的预期,目标贯穿业务需求的完整周期,在组织协作中是关键导向;

指标用来衡量目标达成的执行过程和最终完成度,侧重于对目标进行验证;

综合来看,对于业务和技术的方案来说;

有业务的整体思考,技术的系统性架构,具体需求的核心设计与落地执行,以及目标和指标的衡量标准;

后话

“回到工作实践中来,做事虽然有很多方式方法,但是从来没有绝对的标准;

业务也好,技术也罢;

在周期演进的过程中,始终受到组织架构和团队人员的最根本影响;

所以在输出业务和技术方案时,要围绕环境的真实现状,做出相应的调整优化,把握核心即可;”

“所以你懂了没?”他望向我道。

相关文章:

字节3次都没裁掉的7年老测试。掌握设计业务与技术方案,打开上升通道!

前言职场中的那些魔幻操作,研发最烦的是哪个?“面对业务需求的时候,可能都听过这样一句话:这个很简单,直接开发,三天内上线;”朋友说:“产品听了流泪,测试见了崩溃&#…...

详细介绍关于链表【数据结构】

文章目录链表单链表尾插头插尾删第一种方式删除第二种头删查找pos之前插入pos位置删除pos后面插入pos位置后面删除链表 顺序表缺点: 空间不够了 需要扩容,但是扩容是有消耗的头部或中间位置需要插入或删除,需要挪动 ,但是挪动是…...

2.3 二分搜索技术

二分搜索算法是运用分治策略的典型例子。给定己排好府的 n个元素a10:n-1],现要在这n个元素中找出一特定元素3。首先较容易想到的是用顺序搜索方法,逐个比较a10:1-1]中元素,直至找出元素,或搜索遍整个数组后确定,不在其…...

RWEQ模型的土壤风蚀模数估算、其变化归因分析

土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一,土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160.74104km2,占国土总面积的16.7%,严重影响这些地区的资源开发和社会经…...

学习streamlit-1

Streamlit A faster way to build and share data apps streamlit在几分钟内就可以将数据脚本转换为可共享的web应用程序,并且是纯python编程,无需前端经验。 快速开始 streamlit非常容易上手,运行demo只需2行代码: pip install…...

GPS定位知识介绍

GPS定位和网络定位 GPS定位需要卫星参与,设备借助搜到的卫星讯号,计算出设备的位置。网络定位是指利用基站、WIFI MAC,获取一个粗略的位置。3D定位和2D 定位 3D一般是指使用至少4颗以上卫星完成的定位。2D一般使用3颗卫星完成的定位过程。...

【Linux】理解Linux环境变量

🍎作者:阿润菜菜 📖专栏:Linux系统编程 初识环境变量 什么是环境变量 我们平常所用的Linux指令其实也是可执行程序,和我们自己写的二进制程序没什么两样,那么为什么我们在执行自己的程序的时候需要加上 ./…...

ISCSI块存储-集群

ISCSI块存储-集群 1、ISCSI概述 ISCSI与SCSI原理对比 底层都是硬盘 ISCSI第二层就是通过gateway/网络获取–>SCSI:是直连获取 常见的用于ISCSI服务的网络拓扑类型 SAN:Storage Area Network:存储区域网络; 多采用告诉光纤…...

11.Maxwell 部署

Maxwell 部署 一、环境准备 1、确保服务器上已经安装好了zookeeper、kafka、MySQL软件; (1)启动zookeeper: /usr/app/zookeeper3.4/bin/zkServer.sh start(2)启动三台主题的kafka 启动:bin/kafka-serv…...

一文速学-GBDT模型算法原理以及实现+Python项目实战

目录 前言 一、GBDT算法概述 1.决策树 2.Boosting 3.梯度提升 使用梯度上升找到最佳参数 二、GBDT算法原理 1.计算原理 2.预测原理 三、实例算法实现 1.模型训练阶段 1)初始化弱学习器 2)对于建立M棵分类回归树​: 四、Python实现 …...

前端——2.HTML基本结构标签

这篇文章我们从0来介绍一下HTML的相关标签内容 目录 1.HTML语法规范 1.1基本语法概述 1.2标签关系 2.HTML的基本结构标签 2.1第一个HTML网页 2.2基本结构标签总结 1.HTML语法规范 下面,我们来看一下HTML的语法规范的内容 1.1基本语法概述 首先&#xff0c…...

OAK深度相机使用不同镜头和本地视频流进行模型推理

编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是助手…...

[项目] Boost搜索引擎

目录 1.项目相关背景 2.项目宏观原理 3.技术栈和项目环境 4.正排索引&&倒排索引 5.去标签与数据清洗 6.构建索引模块Index 6.1正排索引 6.2 建立倒排 jiebacpp使用 建立分词 7.搜索引擎模块Searcher Jsoncpp -- 通过jsoncpp进行序列化和反序列化 处理Cont…...

解决新版QGIS找不到Georeferencer插件

目录1. 问题分析1.1 去 Raster 找,没找到1.2 去插件搜,未搜到1.3 插件库里也搜不到2. 解决办法在 QGIS 3.30中,按常规办法,找不到 Georeferencer插件,它并没有被安装,在库中也找不到它, 请问问题…...

c---冒泡排序模拟qsort

一、冒泡排序 二、冒泡排序优化排各种类型数据 文章目录一、冒泡排序二、冒泡排序优化排各种类型数据冒泡排序 冒泡排序原理&#xff1a;两两相邻元素进行比较 初级版 void bulle_sort(int* a, int sz) {int i 0;for (int i 0; i < sz-1; i){int j 0; for (j 0; j…...

Java知识复习(十四)JS

1、数据类型 基本数据类型&#xff1a;null、undefinde、boolean、string、number、symbol&#xff08;ES6新增&#xff09;引用数据类型&#xff1a;Function、Array、Object、Map和Set&#xff08;ES6新增&#xff09; 2、let、var和const的区别 var定义的变量&#xff0c…...

代码随想录刷题-数组-移除元素

文章目录写在前面习题我的想法暴力解法双指针写在前面 本节对应代码随想录中&#xff1a;代码随想录 习题 题目链接&#xff1a; 27. 移除元素- 力扣&#xff08;LeetCode&#xff09; 给你一个数组 nums 和一个值 val&#xff0c;你需要原地移除所有数值等于 val 的元素&a…...

聚观早报 |拼多多跨境电商业务正式登陆澳洲;中国加快6G网络研发

今日要闻&#xff1a;拼多多跨境电商业务正式登陆澳洲&#xff1b;全球自动驾驶公司排名特斯拉垫底&#xff1b;中国将加快 6G 网络研发&#xff1b;B站再次“崩”上热搜&#xff01;已闪电修复&#xff1b;微软将必应AI聊天每次对话上限增加至8条拼多多跨境电商业务正式登陆澳…...

MDK Keil5 创建Stm32工程-理论篇(这里以Stm32F103Zet6为例)

一、文件夹创建与文件说明整个工程可以粗略的划分为几个文件夹&#xff1a;BSP底层驱动比如GPIO\Timer等驱动文件CMSIS内核相关的文件Firmware生成的固件下载文件Mycode用户编写的相关文件&#xff0c;主要编写的文件都在这个文件夹里Project工程文件startup芯片启动文件STM32F…...

应届大学生学什么技术好?哪些技术适合年轻人?

到了毕业季&#xff0c;应届大学生面临的就是就业问题&#xff0c;很多专业的大学生难以找到对口的工作&#xff0c;或是不得已随便就业&#xff0c;或者是学个技术高薪就业&#xff0c;那么&#xff0c;问题来了&#xff0c;应届大学生学什么技术好&#xff1f;哪些技术适合年…...

车企数据分类分级的实践指南出炉!“数据安全推进计划”发布,奇点云参编

日前&#xff0c;“数据安全推进计划”&#xff08;DSI&#xff09;正式发布《智能网联汽车数据分类分级实践指南》&#xff08;下文简称“指南”&#xff09;&#xff0c;旨在以合规为主要导向&#xff0c;明确智能网联汽车数据分类分级的方法论&#xff0c;为数据全生命周期的…...

Nginx学习 (2) —— 虚拟主机配置

文章目录虚拟主机原理域名解析与泛域名解析&#xff08;实践&#xff09;配置文件中ServerName的匹配规则技术架构多用户二级域名短网址虚拟主机原理 为什么需要虚拟主机&#xff1a; 当一台主机充当服务器给用户提供资源的时候&#xff0c;并不是一直都有很大的用户量&#…...

Java 动态代理简述和实例

Java动态代理是一种在运行时动态创建代理对象的技术。它可以让我们在不修改原始代码的情况下&#xff0c;对原始对象进行增强或者添加额外的行为。这种代理方式可以用于很多场景&#xff0c;例如AOP编程、RPC框架等。动态代理是基于Java反射机制实现的&#xff0c;它允许程序在…...

Unity编译器扩展(Advanced Editor Scripting)

Untiy编译器扩展允许我们对编译器的增加自己编写的的功能菜单栏MenuItemContextMenu和ContextMenuItemContextMenuContextMenuItemMenuItem 该属性允许您将菜单项添加到主菜单和检查器窗口上下文菜单。 该属性将任何静态函数转换为菜单命令。只有静态函数可以使用该属性。 Men…...

AFR机制及流程介绍

AFR(Auto Fast Return)不符合3GPP协议标准,因此终端默认是disable状态。如果运营商有要求可以配置开启。 AFR有两种场景 2G或者3G AFR到4G4G AFR到5G3G AFR TO 4G AFR到LTE功能的作用就是终端从LTE Handover或者重定向到3G进行业务,等业务做完后能够快速回到LTE网络。...

9.Hbase 部署

9.Hbase部署 注意事项&#xff1a; 1&#xff1a;必须事先安装 Hadoop分布式集群&#xff0c;zookeeper分布式集群 2&#xff1a;查看版本号&#xff1a; hbase version1、解压文件并改名 tar -zxvf /opt/software/hbase-2.2.3-bin.tar.gz -C /usr/app/ mv hbase-2.2.3/ hba…...

【maven 学习记录】

maven 学习记录一、maven基础1. maven是什么2. maven的作用3. maven的下载安装4. maven仓库5. maven坐标6. 第一个maven项目 手工实现7. maven插件8. 依赖管理9. 生命周期二、maven进阶一、maven基础 1. maven是什么 maven的本质是一个项目管理工具&#xff0c;将项目开发和管…...

NB-IOT宣传这么多年,这次总算用好了吧

一、方案概述随着实体经济快速发展&#xff0c;石化、港口、货场、工地等区域规模日益扩大&#xff0c;厂区面积广阔、环境复杂、作业人员和车辆众多&#xff0c;如无法实时掌握工作人员状态及外来人员位置、外来车辆情况等问题&#xff0c;将存在非常大的安全隐患。今天小编介…...

sort函数对结构体|pair对组|vector容器|map排序|二维数组的第x列 的排序

目录 sort对 vector容器 sort对 vector<pair<int,int>>对组 sort对 结构体 结构体外部规定排序 结构体内部运算符重载 map容器的排序 map的键排序 map的值排序 sort对二维数组的排序 sort对 vector容器 sort()函数可以用于对vector容器进行排序。具体来…...

Java定时器Timer的使用

一、Timer常用方法 Timer应用场景&#xff1a; 1、每隔一段时间执行指定的代码逻辑&#xff08;即按周期执行任务&#xff09; 2、指定时间执行指定的代码逻辑 为方便测试并查看运行效果&#xff0c;首先先建一个类并继承TimerTask&#xff0c;代码如下: package timerTest…...

注销网站备案时间/发布软文是什么意思

VMware 中 Ubuntu的安装 步骤 1.文件>新建虚拟机 2.下一步 3.下一步 4.稍后安装操作系统 5.下一步 6.自己取创建的虚拟机名字和存放路径 7.根据自己电脑的配置选择配置 8.选择虚拟机的内存,一般为2G 9.默认下一步 10.下一步 11.下一步 12.选择创建新虚拟磁盘 1…...

dw可以做有后台的网站么?/真正免费建站

题目链接&#xff1a; B君的圆锥 基准时间限制&#xff1a;1 秒 空间限制&#xff1a;131072 KB B君要用一个表面积为S的圆锥将白山云包起来。 B君希望包住的白山云体积尽量大&#xff0c;B君想知道体积最大可以是多少。注意圆锥的表面积包括底面和侧面。Input一行一个整数&…...

网站建设的软件/seo博客模板

来看看strdup在Glibc 2.20&#xff08;标准C库&#xff09;中的实现&#xff1a; 默认参数s不为空指针&#xff0c;这个在我们的数据结构库中是有问题的 改进&#xff1a; 当前版本g编译器不允许析构函数抛异常这么做 打印出来结果&#xff1a;1 3 然后程序崩溃 我们都删除了…...

江门企业自助建站系统/18款禁用软件黄app免费

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#includemain(){int n,q,p,m,k1,sum0,s[99999]{2},t[99999];//n是输入的数;q和p分别代表两个数组的工作下标scanf("%d",&n); //k是用来取小于n数的数组工作下标for(int i3;i<n;i2) //去所有小于n的数&…...

云端做效果图的网站/维普网论文收录查询

博客中添加思维导图 1 思维导图软件 Mind Master 2 插入已经绘制好的思维导图 将思维导图导出为图片格式&#xff0c;再使用markdown语句插入图片...

地方政府门户网站的建设/在线建站网页制作网站建设平台

在Windows server 2003上配置DHCP服务<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />实验二DHCP中继代理配置★ 实验环境1&#xff0e;准备三台电脑&#xff0c;一台作为客户机&#xff08;XP&#xff09;&#xff0c;一台为DH…...