程序员如何做"好"需求判断?

1. 导语

本文作为2024上半年核心思考之二。

通过他人经验传导、个人实践、广泛阅读书籍(方法论类、企业经营类、传记类、财务类,具体书单附文末 ),学会基于更高阶的经营者视角 来做业务需求判断。本文思路如下:

  • 首先,抛一个灵魂问题让大家思考: 你评估过自己负责的项目做的好不好吗?
  • 接着,带着问题看解决思路

2. 引人深思的问题

正在看本文的你:

评估过自己负责的项目做的好不好吗?

可能大多数人的答案是「按时、按质做完」。这个答案没错。接着,继续问:

按时,按质的标准是什么?

对于我们程序员来说,可能标准的答案:

  • 按时:业务预期时间内完成项目交付
  • 按质:
    • 功能:满足业务需求(实现功能)
    • 性能:接口峰值QPS满足业务极端场景等
    • 质量:千行代码bug率、故障数
    • 收益:符合预期

这个答案没问题,只是不够。

不够在哪?

答:基于更高的要求,不够在缺少个人思考:缺少基于经营者视角的思考,也就是经营者意识。如果能想到「按时、按质做完」答案的同学,在团队中主要还是扮演执行者的角色(项目来了,按时按质交付),如下:

所以:

程序员如何能以经营者视角的思考评估工作呢?

答:核心自驱完成从"执行者"到"思辨者(具备经营者意识)"转变。如何完成?主要步骤如下:

  • 明确角色转变目标
  • 如何实现角色转变?
    • 养成习惯(解决有没有的问题) :解决有没有以经营者视角思考的问题
    • 结构化思维+阅读(解决好不好的问题) :通过阅读,学习结构化思维和企业经营知识、财务知识、互联网思维等,解决经营者视角做的好不好的问题

3. 如何以经营者视角评估工作?

3.1 明确角色转变目标

从"执行者"到"思辨者"的转变,且是具备经营者意识的思辨者。

什么是思辨者?

3.1.1 什么是思辨者?

对于同样的任务输入,思辨者相对于执行者:

表现上:

  • 会多问为什么?
  • 会积极发表意见和建议

根上:

  • 搞清楚逻辑:为什么这么做?
  • 合理性判断:这里的逻辑是不是有什么问题?
  • 建设性建议:这样做是不是会更好?

什么是经营者意识?

3.1.2 什么是经营者意识?

开公司的目的是什么?挣钱。判断挣钱的指标是什么?利润。

所以企业经营者会更加关注:

  • 项目能带来的利润
  • 项目能提升利润的背后逻辑
  • 项目的投入产出比

3.2 如何实现角色转变?

  • 步骤一,养成习惯(解决有没有的问题) :解决有没有以经营者意识思考的问题
  • 步骤二,结构化思维+阅读(解决好不好的问题) :通过阅读,学习结构化思维和企业经营知识、财务知识、互联网思维等,解决经营者视角做的好不好的问题

详细展开如下:

3.2.1 养成习惯(解决有没有)

解法:养成习惯,比如

  • 提前思考需求:提前看需求文档,关于需求收益部分提前产出自己的问题,做好准备。比如,典型的问题,这个收益是如何预估出来的?
  • 需求评审多问 :每次在需求沟通时,强制 自己多去问问需求收益的逻辑是什么,哪怕听不懂,敢问

但养成习惯只解决有没有 转变的问题,不解决转变过程做的好不好?接下来,解决做的好不好的问题。

3.2.2 结构化思维+阅读(解决好不好)

  • 结构化思维:通过结构化思维拆解复杂问题
  • 阅读:通过阅读学习结构化思维拆解方法论和获取企业经营经验、互联网思维经验、财务知识等

什么是结构化思维?

3.2.2.1 什么是结构化思维?

关于结构化的概念,我拆解成了两部分:

  • 结构化表达: 本文不包含结构化表达部分。结构化表达的目的是如何能帮助我们"说清楚",比如典型的方法论有金字塔原理等。
  • 结构化拆解: 本文核心是结构化拆解。结构化拆解的目的是如何能帮助我们"想清楚",特别是面对复杂的问题,比如基于经营者视角如何能找到提升利润的方向和具体的项目?

如何进行结构化拆解?

通过阅读《麦肯锡结构化战略思维》得到:

  • 公式法: 来源经验,经验包括自身实战积累、他人言传身教、他人总结分享(媒体资源、书籍)。我当前经验主要来源于企业经营相关书籍,比如稻盛和夫的《阿米巴经营》、刘润的《底层逻辑2:理解商业世界的本质》等(详细书单附文章末尾)。
  • 子目录列举法: 穷举出所有的因子,且因子不相交
  • 流程法: 按照流程进行拆解
  • 等等

基于以上方法,我们以平台电商业务为例,进行结构化拆解:

基于经营者视角如何能找到提升利润的方向和具体的项目?

第1层拆解:如何提升利润

  • 目标:提升利润
  • 问题:如何提升利润?
  • 方法:公式法,利润 = 收入-费用(公式来源:财务知识,书籍《世界上最简单的会计书》、《底层逻辑2》)
  • 方向:通过公式可以清楚得到影响利润的两大因子:收入和费用,要不提升收入,要不就降低费用,也就是俗话说的开源节流,以及稻盛和夫提到的企业经营原则:收入最大化和费用最小化(来源数据《阿米巴经营》》)。

第2层拆解:如何提升收入

  • 目标:确认收入公式
  • 问题:如何提升收入?
  • 方法 :公式法,收入 = 市场品类 流量转化率客单价*复购率(公式来源:书籍《增长黑客》、《精益数据分析》)
  • 方向
    • 市场:拓展市场,比如出海
    • 品类:拓展商品类别
    • 流量:进一步拆解因子
    • 转化率:进一步拆解因子
    • 客单价:进一步拆解因子
    • 复购率:进一步拆解因子

第3层拆解之一:如何提升流量

  • 目标:找到所有流量来源
  • 问题:如何提升流量?
  • 方法:子目录列举法,自然流量|搜索流量|付费流量|消息触达|外链
  • 方向
    • 直接流量:-
    • 搜索流量:比如评估网页SEO质量,进行SEO优化
    • 付费流量:比如增加投入
    • 消息触达:比如丰富触达场景
    • 外链:比如增加站外链接

第3层拆解之二:如何提升转化率

  • 目标:建立流量漏斗分析
  • 问题:如何提升转化率?
  • 方法:流程法,完成下单流程拆解:商品到购物车转化 | 购物车到订单转化 | 订单到支付转化
  • 方向
    • 商品到购物车转化率:进一步拆解因子
    • 购物车到订单转化率: 同上
    • 订单到支付转化率: 同上

按照以上的思路层层拆解,能帮助我们清楚的找到提升利润的方向和具体项目,让我们想清楚。具体拆解结果如下:

4. 总结

  • 养成习惯:养成基于经营者视角多问为什么的习惯
  • 学会拆解:通过结构化拆解过程判断需求逻辑是否合理
  • 储备知识:通过阅读书籍补充财务、企业经营、互联网思维(增长公式)知识,增强个人逻辑拆解&逻辑判断知识储备

通过以上过程,我们完成"执行者"到"思辨者(具备经营者意识)"转变后,再来看开头的问题:

如何评估自己负责的项目做的好不好吗?

相对于开始的答案,我们新增了一条:

  • 做好需求准入判断:需求的逻辑是什么?需求的量化目标是什么?目标测算的逻辑是什么?
  • 按时:业务预期时间内完成项目交付
  • 按质:
    • 功能:满足业务需求(实现功能)
    • 性能:接口峰值QPS满足业务极端场景等
    • 质量:千行代码bug率、故障数
    • 收益:符合预期

反过来增加这条让我们能真正的参与企业经营,而不仅仅是一个事情的"执行者"或者"透传者"。同时,这也是我意识到打工的核心。


书单附录:

  1. 《麦肯锡结构化战略思维》:经典结构化拆解问题的方法论。
  2. 《增长黑客》:互联网思维下的增长方法论,定义增长公式+指标牵引(不断变化的北极星指标+AB实验)
  3. 《精益数据分析》:做好数据驱动的方法论,选择正确指标,建立底线指标。
  4. 《世界上最简单的会计书》:财务知识入门必看,以一个卖柠檬水小摊的示例讲解资产负债表、利润表等财务概念。
  5. 《底层逻辑2》:通过数学问题视角解释商业逻辑,比如资产负债表、利润表的作用。
  6. 《阿米巴经营》:一代大师的企业经营理念:全员参与经营等
相关推荐
bufanjun00119 分钟前
JUC并发工具---ThreadLocal
java·jvm·面试·并发·并发基础
Zhu_S W11 小时前
Java web的发展历史
面试·职场和发展
power-辰南19 小时前
大厂 Java 架构师面试题全解析
java·前端·面试
重生之Java开发工程师19 小时前
ArrayList与LinkedList、Vector的区别
java·数据结构·算法·面试
啥都想学的又啥都不会的研究生1 天前
高性能MySQL-查询性能优化
数据库·笔记·学习·mysql·面试·性能优化
m0_748256141 天前
前端图表与数据可视化 - 2024 年实战与面试重点
前端·信息可视化·面试
卷心菜是俺1 天前
JVM和数据库面试知识点
jvm·数据库·面试
Marx82011 天前
英语尬面后,我做了一个生成英语学习视频的小工具
前端·面试·产品
Oneforlove_twoforjob1 天前
【Java基础面试题026】Java中的String、StringBuffer和StringBuilder的区别是什么?
java·开发语言·面试
上海运维Q先生1 天前
面试题整理9----谈谈对k8s的理解2
云原生·面试·kubernetes