惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Forbes - Security
Forbes - Security
WordPress大学
WordPress大学
P
Proofpoint News Feed
T
Threat Research - Cisco Blogs
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
Spread Privacy
Spread Privacy
D
Darknet – Hacking Tools, Hacker News & Cyber Security
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
P
Privacy International News Feed
A
About on SuperTechFans
T
Tailwind CSS Blog
I
InfoQ
S
Securelist
云风的 BLOG
云风的 BLOG
罗磊的独立博客
Recent Announcements
Recent Announcements
T
The Exploit Database - CXSecurity.com
B
Blog RSS Feed
V
Visual Studio Blog
Know Your Adversary
Know Your Adversary
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
腾讯CDC
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
AWS News Blog
AWS News Blog
博客园 - 【当耐特】
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
F
Full Disclosure
S
Secure Thoughts
博客园 - 司徒正美
J
Java Code Geeks
Y
Y Combinator Blog
Google Online Security Blog
Google Online Security Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
Help Net Security
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Project Zero
Project Zero
T
Tenable Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tor Project blog
MyScale Blog
MyScale Blog
Scott Helme
Scott Helme
小众软件
小众软件
K
Kaspersky official blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
3岁产品经理关于重构系统的心路历程
Joysaver🏁 · 2022-05-29 · via 人人都是产品经理

编辑导语:本文将以3岁产品经理的视角,针对作者经历过的某系统的重构过程,展开一次心路历程的梳理和分享。从无到1.0版本的上线,从不知如何下手到那就冲吧……

一、项目概况介绍

本次重构的系统是“计费系统”,顾名思义是用来计算费用或者计算数量的系统,此系统的定位是根据客户请求数据产品的接口情况来完成计算客户账单的流程。

这里具体是哪个系统不重要,换个别的系统都一样样的,除此之外,要完成出账单的任务,需要诸多脚本在背后支撑,这部分属于技术层面的工作,本文不做过多的阐述。

二、重构原因

1. 客户计费需求光怪陆离

简单来说,客户想要的计费需求如今是千奇百怪,亦或是公司的商务为了能够给客户创造一些让利空间,研究出了一些奇特的计费想法,然而当前的系统并不能够非常灵活且快速地满足这类需求,所以一部分特殊计费的要求都是人工通过临时写一些sql语句或者定制化的脚本来实现的。

但是这种解决方案显然不够高效且风险性较高;另一方面,公司想把这部分的业务管理的更加规范化,进而提出让我们必须通过系统化的功能来实现特殊计费业务的要求。

2. 祖传代码表结构设计不够合理

原计费系统当初了赶项目进度,在底层架构设计以及表结构设计上不够合理,这就导致后期的改造成本和维护成本都比较高,经常是研发人员一边吐槽一边改,所以既然业务方有新的需求,刚好基于这次机会将代码进行重构,也便于经后的管理。

3. 合适的契机更换计费脚本

说起这个原因,其实也是为了间接性地解决另外一个问题,那就是当前采用跑账单数据的是shell脚本,研发人员对于shell脚本不是特别擅长,并且在我们使用过程中shell脚本报错频率有些高,导致我们的账单数据会存在计费不够完全准确的情况。

其实很早之前就想过替换成spark脚本,但是替换脚本这件事事关重大,且日常的业务需求的开发任务也非常重,此问题一直没能得到解决,说到这里作为产品经理的我也有些惭愧,应该更早地为这个问题争取时间和资源,好在这次终于有了这样一个时机去解决,也算是抓住机会去改变吧。

在跟业务方多次沟通后,最终确认了通过开发新系统-结算平台来解决当下的问题,在这之前我们确实是在“改造原计费系统”还是“开发新系统”中进行衡量和抉择,考虑的因素无非是时间成本和开发成本。

二者的优劣也很明显,如果是改造原系统,可以直接开始新需求的开发工作,必然是最快且成本最低的方式,但同时会错失重构的机会,业务方也不会给比较长的时间来让我们有时间做重构的工作;如果是打算从头开始做新系统,当然需要的资源较多、耗时较长,但是这样就能够把整个系统的架构进行重新设计,从长远来看自然是件好事。

三、项目整体规划

既然确定了以新系统的方式来完成此次任务,那在最开始产品经理需要规划好项目整体的一个排期进度。在确定排期前,首先要明确以下几点:

1. 重构内容包含哪些?

  • 当前系统主流程业务中哪些逻辑和功能需要调整
  • 原有的哪些表结构设计需要调整
  • 与其他的系统之间的交互是否需要调整
  • 新旧系统在并行期间的数据该如何处理
  • 新业务新功能的设计方案

在梳理这块内容时,产品经理需要认真仔细的确认清楚当前系统中每个功能点,是否需要进行调整,最好是将原有功能列出一个比较完整的清单,这样不易于遗漏一些小的功能点的改造,若是需要调整,则在清单内标注好方便后续的跟踪。

而我本人在进行这项工作时,疏忽了这点,可能是觉得对于原系统过于了解,就想当然的以为这些点都在脑子里,这就导致在开需求评审时,发现遗漏了细节,好在研发人员是比较熟悉系统的,能够及时补充避免了一些问题。

2. 优先级排序如何确定?

确定了原有功能需要改造的内容后,接下来需要考虑此次在新系统中的要实现的新增的功能与原功能在开发中的优先级排序。

这一点蛮重要的,因为不一定要先把原功能全部开发完之后再进行新功能,当然对于本次重构的系统而言,新功能的使用是强依赖于一部分原功能的。

没错,只是强依赖于一部分原有功能,也就意味着我们并非需要在最后阶段在开始新功能的开发。

我为什么会提到这一点,因为这一点对于整体的排期优先级的顺序影响比较大。

大家可以想想,在我们实际工作中其实开发时间是非常紧张的,而我们的需求方也是急于看到一些成果的,原有功能的重构自然不是他们最关心的点,所以我们也要比较聪明地把重要的东西往前提。

也就是说当我们的把必须的原有的主流程开发完后,就直接上手开始新功能,这样能够把需求方最想看到的东西尽可能早点完成,那剩下的其余功能我们就按照正常的系统迭代节奏进行即可,否则,很可能一直处于被需求方催进度的被动状态。因此重构过程中的优先级排序是需要好好考虑的事情。

3. 开发任务该如何拆解呢?

总体的优先级确认后,我们需要将开发任务进行拆解。在此过程中可以先按照阶段拆解,明确每一阶段的主要目标是什么,进而就能知道在这一阶段中需要完成哪些开发任务。

而一个阶段内的开发任务也需要进一步拆解,此时可以根据功能模块划分,比如一个菜单栏内包含了列表展示、详情展示、编辑、导出以及一系列的子功能,我们也需要定义一个优先级,决定先做哪些子功能。

最后就是将划分好的各阶段确定出开发完成时间,也就是提测时间,进而排期成多个版本进行分批上线,以上的过程是需要产品和研发共同敲定的,至于上线时间需要同测试人员一起进行评估。

图为本人当时绘制的排期表,可适当参考

四、敲定新功能的设计方案

前面已经提到过了,本次系统的重构主要分为了两部分,原有功能的重新搭建和开发新功能支持新的业务需求。

后半部分才是这次重构工作中最重要的内容,也是“业务方爸爸们”最在意的工作,但在实际工作中,我们是先敲定了新功能的业务需求和实现方案,再考虑新系统的整体规划方案的,那这里也由此可见我上面所提到的排期时考虑功能优先级的重要性。

关于新功能的设计方案,这里不会展开来讲,原因也很简单,此方案是根据公司的实际业务情况出发和落脚的,因此非常定制化。

那我想说的其实是另外一点,产品经理在设计新方案时,不仅仅是需要站在支持业务实现系统化的层面,还要考虑高层领导想要达成的其他潜在目标

比如,管理制者之所以发起这样的新项目,一方面是为了提高运整体的运营的效率,另一方面呢的其实是想降低研发人员替换时所产生的较高的替换成本,因为当前系统在支持业务工作时,有很多场景是需要研发人员临时写sql来获取结果的,这样的工作对人的依赖性很大,一旦出现人员变动,对业务的工作影响是比较大的。

如果一开始没有想到这一点,那么可能就会像我一样,在设计功能时会忽略掉一些点,导致方案被一否再否,经过了多次的调整才得到了业务和领导层一致的通过。

五、项目进度跟踪

当进入了实际的产品开发阶段后,产品经理需要时刻关注和跟踪项目进度,这样可及时发现是否有延期风险。

根据排期规划我们拆分出了4个阶段的上线版本,大概历时4个月,涉及3.5个后端人员和1个前端人员。同时我针对每一阶段的版本拆分出了每个研发人员按周的计划进度,每到周四下午我会与每个人确认本周的实际进度,是否可以按时完成,若是有其他原因导致延误,则需要立马定原因,解决延期问题,同时也要提防是否还会出现相同的状况。

图为本人当时绘制的进度跟踪表,比较粗简可适当参考

那实际中呢,我确实也犯了一些小错误,在最开始我们确定了一期的开发任务后,自认为大家都没有反馈问题那就是没有问题,因此在进入开发后的第一周我也就没有过多的关心进度情况,等到第二周时发现原定的进度已经不能再通过赶工的方式来弥补了,结果就只能是延期提测了三天。

好在及时跟测试人员进行了沟通,压缩了测试时间,这才能够在既定日期完成一期上线。当然这里也不提倡通过压缩测试时间来达到目标,只是一期上线功能较少,原评估的测试时间较长,确实是有可压缩的空间,才解决了延期问题。

六、第一阶段1.0.0版本上线

与大多数互联网公司一样,上线日是周二和周四,第一期的版本我们定的是周四,原本像这样的新系统,通常是可以不用等晚上再推包上线的,可是我们还是拖到了晚上7点多才开始准备上线。

也正如预想的一样,新系统上线问题百出,大概的原因主要是测试环境和生产环境配置不相同,以及又遇到了sre资源占用等问题,最后的结果就是直到晚上23:30左右才在生产环境部署成功。

那针对这一次的上线问题,我们下来也进行了复盘,从产品角度来看的话,当时确实是在上线验收前,我发现了一些问题,并且花了较多的时间进行了再次测试验证,结果是问题确实存在,但这也就直接导致直到晚上7点左右才开始推包。

其实针对这样的状况,在我看来产品经理可以果断一点,那就是带着问题先上线,因为第一期的上线,也并不会对外开放使用,主要是为了先跑通正式环境,如果是这样的话那天就不用熬到快12点了,这也是我这次学到的一次教训。

那另外一点经验教训是,像这样的新系统上线,其实可以先预上线一次,就是在原定的上线日的时间,提前一个上线日先“预热”一次,主要是解决环境部署或者预发和生产配置不一致等问题,等到正式上线就能避免这些问题。

图为与研发和测试复盘会议的总部,可适当参考

七、写到最后的小想法

如果对本次的重构工作进行个自我打分的话,我确实是不太满意的,只能给自己打6分,也就是刚及格的状态,这里主要有几点原因:

第一呢,我觉得自己还是过于保守不够勇敢。主要体现在不太敢于打破原来的一些逻辑和设计,在原有功能方面还是尽可能在“复刻”,一方面是出于用户习惯的考虑,另一方面是害怕如果进行改变带来的不确定的影响范围。

这可能与我本人的一些工作习惯和方式相关,更倾向于谨慎地完成工作,当然这一点也并非是完全有问题的,因为我确实需要考虑上面提到两个因素,但是也不应该就真的被吓住了。

假设下如果真的敢于突破,出了一些问题,又会怎样呢?影响范围和程度又会有多大呢?完全不可控了吗?其实实际上可能就真的还好,大不了被多骂几遍再改回去嘛,只要能掌控住风险大小,那就冲一把嘛~

第二呢,重构前的产品准备工作做的不够充分。也是体现在两方面,自身角度没能更加深入的去思考这次重构怎样能让系统和业务结合的更加顺畅和紧密,更像是火急火燎、慌慌张张的去完成一项紧急且重要的工作任务,“交好这个差”。

再就是前期的调研应该多花时间做做,而实际中这块确实被忽略了,如果说调研做的比较充分,前面没能深入思考的问题可能就迎刃而解了。

第三呢,产品经理争取资源和时间的能力真的也是需要好好培养和锻炼的。客观来讲,当时在接到重构系统任务时,我同时在负责另外一个庞大复杂的账务系统,日常的需求任务非常重,也是我们部门最核心的系统之一,单就负责这一个系统的时候我都蛮心力交瘁的。

所以这个时候公司让你同时负责多个系统时,要是没有很好的争取资源和时间的能力,估计就会像我一样,吭哧吭哧自己加班干活,两边都不敢耽误。虽然最后也能完成得让业务方和领导层基本满意,但是学到的东西就比较粗浅也很累人。

最后呢,希望以上的分享能给各位产品经理多多少少带来一起启发或者思考,能吸取我的一些经验教训,在产品路上大步前行不要怂!

本文由 @Joysaver? 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议