首页 > 其他分享 >研发高阶能力之「技术规划」

研发高阶能力之「技术规划」

时间:2024-06-09 22:24:12浏览次数:22  
标签:高阶 对标 研发 问题 how 目标 规划 老板

为什么规划是高阶能力


  • 明确 什么是正确的事(what、why),前置于 如何正确的做(how)。真有能力明确,就可以不用亲自做

  • 提出正确的问题,比解决问题更难

  • 权力/权威/影响力,建立在 比别人都更正确

  • 规划强依赖的 事理逻辑(what、why),长于 数理逻辑(how)的程序员好多都学不会或没机会学或不愿学,因而具有稀缺性

  • 上级、下级的年终业绩,相当一部分来自规划。产品没规划,研发就没活干,研发没规划,晋升就没材料

  • 基于对业务和行业的趋势判断,制定中/长/短期技术规划,确保企业的技术投入(投什么、投多少、怎么投、投哪里、以什么样的节奏投)可以帮助业务获得长/中/短期的竞争优势,这是业务的 技术合伙人 的核心职能


企业有三类角色:worker、partner、owner,不同角色基于不同的身份认同,工作在不同的平面,表现出不同的行为,创造出不同的价值,从而分配不同的蛋糕份额


什么是规划


类比定义:近似于创业用的 商业计划书,是用来向老板要资源的,是要 销售 出去让老板 买单 的,甚至可以说,规划就是 谋求多方共赢的生意

严肃定义:基于 本质问题整体性 思考,给出 长期性发展愿景。这些是规划与计划的区别所在

  • 本质问题:沿着更高抽象度的方向上溯思考,对 问题本身再追问,就有可能触达本质问题。比如问“某公司长期发展前景如何”,如果一直追问到“企业为什么会存在”,就是非常本质的问题了(TK 也举过一个例子:“苹果为什么是红色的” -> “红色为什么是红色的”)。

  • 整体性:(时间维度)看到历史、现状和未来,了解前因后果、来龙去脉;(空间维度)对内看清业务全景、系统框架、上下游关系,对外看到所有可对标的对象

    • 反例:从过往有限经历中积攒孤立的、零散的、局部的、单点的问题。比如发现某个技术模块需要优化,这个事本身可能是对的,但不看整体,就不知道这件事的优先级(也许有更重要的事被忽略),也不知道这件事和业务阶段是否匹配(也许是该做,但不是现在做),更不知道这件事该不该你做
  • 长期性:规划的作用是提供灯塔指引照亮前路,咱们国家的规划一次做五年,业务部门的技术规划一般一次做一年。不过实操层面讲,要么身处于确定性领域的早期或初级阶段,要么身处于需要长期探索的模糊领域,不然要给出一年的规划确实不容易

    • 反例:追赶对标对象的现状
  • 发展愿景:要描绘业务在期中/期末的局面会有怎样的正向变化,要讲做成什么、做到什么,这才是 卖点,不要讲要执行哪些动作、完成哪些任务,你应该 给老板一份菜单,而不是菜谱

    • 反例:把规划写成计划、todo 列表、需求集合、任务汇总、技术方案、技术科普

    • 反例:从团队已有能力或 个人 发展愿景出发,定义还能做什么、还想做什么

    • 反例:脱离业务 从技术应用、技术成长、技术新鲜感角度找问题


不谋全局者,不足谋一域;不谋万世者,不足谋一时


规划的基本原则


  • 利益导向。功利的讲,要有冲劲,心志上应谋求做大收益,事关你和你的上级/下级的年底绩效(老板总是希望规划能 involve 更多人)。要知道老板想要什么,因为老板想要的,才是你的业绩。老板想要的是能解决实际问题,脱离业务/公司利益的技术规划,老板一定不会买单

    • 前端核心利益:性能、体验、质量、效率
    • 后端核心利益:可用性/稳定性、质量、效率
    • 业务核心利益:增长、留存、转化、降本增效...
  • 预期明确。规划写完后要让老板形成稳定预期:一共干哪几个 项目(项目是公司事务运作的基本单元)、分别解决什么问题、需要投入多少资源、能获得什么效果/收益?“明确”的标准是不用亲自下场做任何事,也能大体预见每件事会被什么人、以什么方式、用多长时间、完成到何种程度。简单说就是必须 能落地。要是一堆资源投下去,最后不能落地,意味着给公司造成巨大投资损失,要理解管理者对此风险的高度警惕心理,预期不明一定会喷你

    • 反例:规划依赖合作方支持,却事先未与合作方沟通,或者依赖的外部方案调研不充分,让老板感觉是纸上谈兵,心里没谱
  • 重点突出。伤其十指不如断其一指,一刀见血胜过四面开花,看全不等于面面俱到,没重点一定会被喷。通常最理想的结构是在一条主线上提炼 3 个有份量的核心问题

  • 用户导向。要有产品思维,规划写给谁看的?如何让“用户”低成本理解到位?

    • 了解 reviewer 的知识背景。对于没有技术背景的老板,肯定不会去 review 技术内容,只会去 review 事理逻辑,你就得换个写法,不要用技术语言

    • 控制学习成本。尽量不要发明新概念,尽量用通用词汇。凡是需要通过 额外解释 才能让人理解到位的语句,都要优化

    • 逻辑结构追求 金字塔 + MECE。因为理解成本低、传达信息效率高、最能体现是否想全、符合老板审美、方便老板 review

    • 结论先行。先抛观点再解释,先拍结论再论过程。要换位理解啊,时间管理对于老板而言是个重大命题,因为时间永远不够用,所以老板通常都是没耐心的

    • 用图表说话。一图胜千言,老板没耐心看大段大段的文字内容

    • 精简干练。写作上追求短句,忌讳没有 信息量 的词句,偏细节的支撑性内容最好折叠

  • 意图清晰。每一处信息都要有意图,你写的每一个标点符号都应该表示你想让老板知道什么。为什么这里要添加这个内容、为什么要做这个分类、为什么要画这个方块、为什么这个方块要涂色、为什么这里要连一根线、为什么这根线要这么连......没有具体目的,只会徒增困惑

  • 逻辑关系一致。问题与策略、策略与目标、目标与结果指标的关系得一致

    • 反例:做一件事是为了提效,但结果指标里却提到“提升点击率/PV/UV”(目标与结果指标的关系不一致)

    • 反例:做 Serverless 的一个成果是缩短了发布时长,可缩短发布时长为什么要靠 Serverless?(策略与目标的关系不一致)

  • 严肃专业。假定这份规划要拿去融资一个亿!必须体现专业性,错字、口语化表达、逻辑不严密,都是硬伤


“向上抽象思考”得长期练,尤其是一线干活的人,凡事第一想到的就是 how —— 我个人如何执行。要摆脱 how,在更前置、更高抽象度的层面思考,属实不容易,一是因为老板们长期工作的抽象层面,对于长期浸泡在实施细节里干活的人而言往往很陌生,如果不主动就没时间或没机会接触;二是因为具体练法基本都是程序员不习惯甚至反感的一类事:写周报有意识写出能让上级直接复用的内容、写会议纪要、写总结/自评(STAR 模型、SCQA 模型)、写规划、写立项文档、晋升答辩、推动说服他人做事、开会、汇报、写 OKR、对人给出评价、组织管理协同...做完这些最好还有高人指点,或者有更优样本对照

想清楚 how 当然没问题,只是规划材料的重点是 逻辑,写作上要避免陷入“how”,要学会 向上抽象1~2层,有鲜明而凝炼的观点(重度汇总),有经过抽象和量化的事实(轻度汇总),只列举起必要支撑作用的事实明细并且最好折叠起来,不要讲技术方案和执行动作层面的内容


规划的核心内容

业务背景

  • 写背景,主要是因为 reviewer 不一定了解你所在的业务和你从事的方向(例如架构师),所以得讲清楚业务是做什么的(解决的核心问题、服务的核心指标)、团队的职责与使命是什么

问题识别

  • 判断问题真伪和重要性的基本方法:1、多问 so what? 2、不解决有什么 影响/后果/风险?3、此问题 是否影响老板决策要不要买单?

  • 如果一件事需要 1~n 个人干半年到一年,那么对应要解决的问题 scope 一定不能太小。问题太小说明理解太浅、标准太低、没追求,问题大没关系,但要看能不能完成,否则会产生过高的预期

  • 对于某个框架或系统,盘问题的一种基本方法是确定目标架构与现状的 diff,既体现对现状的不满(差距),又展现了演进的目标

  • 问题的难点:规划里讲难点,主要是客观识别问题的性质(高度模糊?协同复杂度高?实现复杂度高?达标标准严苛?...)和阻碍目的达成的风险/卡点/阻碍,一方面体现为什么这个问题过往一直没有被很好解决,另一方面也有预期管理的隐含意义(因为难,所以需要人、需要时间)。和晋升材料里讲难点有一定区别,晋升材料是要突出个人

    标签:高阶,对标,研发,问题,how,目标,规划,老板
    From: https://www.cnblogs.com/kidney/p/18240139

相关文章

  • 体育馆智能化系统规划方案
    软件项目全套文档资料下载渠道:文章末尾处个人名片获取                       ......
  • Java数据结构与算法(最大子数组和动态规划)
    前言动态规划主要用于解决具有重叠子问题和最优子结构性质的问题。它通过将问题分解为子问题来解决复杂问题,每个子问题仅解决一次,并将其结果存储,以供后续使用,从而避免了重复计算。对应leetcode.-力扣(LeetCode)实现原理两次循环遍历,采用固定其实位置为i,不断滑动j的思想,来计......
  • Java数据结构与算法(爬楼梯动态规划)
    前言爬楼梯就是一个斐波那契数列问题,采用动态规划是最合适不过的。实现原理初始化:dp[0]=1;dp[1]=2;转移方程:dp[i]=dp[i-1]+d[i-2];边界条件:无具体代码实现classSolution{publicintclimbStairs(intn){if(n==1){return1;}......
  • 改进动态窗口DWA算法,模糊控制自适应调整评价因子权重 dwa 动态路径规划 动态窗口法 定
    改进动态窗口DWA算法,模糊控制自适应调整评价因子权重dwa动态路径规划动态窗口法定义模糊评价函数实时调整权重因子更新权重因子评估路径dwa规划     ......
  • 【精品规划推荐】石油石化行业数字化顶层设计
    端午佳节将至,祝愿各位朋友和家人如龙舟般勇猛向前,事业风生水起;如粽叶般翠绿常在,生活如意顺心。祝各位朋友和家人端午快乐,阖家幸福!记得小时候前一天晚上和家人一块包粽子,睡觉前念念不忘的第二天早上起来吃粽子,只有枣和无枣两种馅,第二天早上吃完热腾腾的粽子才去上学。挺怀念过去......
  • 六、动态规划引入
    动态规划(DynamicProgramming,DP)题是算法竞赛中的必出题型。DP算法的效率高、代码少,竞赛队员不仅需要掌握很多编程技术,而且需要根据题目灵活设计具体的解题方案,能考察其思维力、建模抽象能力、灵活性等。。和贪心法、分治法一样,DP并不是一个特定的算法,而是一种算法思想。......
  • x->0时,高阶+低阶等价于低阶?为什么
    步骤1:理解高阶与低阶项在数学中,当我们谈论函数的高阶和低阶项时,通常是指在一个函数的展开式中,高阶项比低阶项增长得更快。例如,对于f(x)=x+x2f(x)=x+x^2f(x)=x+x2,x2x^2x2是高阶项,xxx是低阶项,因为x2x^2x2比xxx增长得更快。步骤2:讨论极限x→0x\to0x→0时的行......
  • hdu1087简单动态规划
    求最长子序列的和。dp[i]=max(dp[i],dp[j]+xx[i])。importjava.util.Arrays;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){//TODO自动生成的方法存根Scannersc=newScanner(System.in);......
  • 覆盖路径规划经典算法 The Boustrophedon Cellular Decomposition 详解
    2000年一篇论文CoverageofKnownSpaces:TheBoustrophedonCellularDecomposition横空出世,解决了很多计算机和机器人领域的覆盖路径问题,今天我来详细解读这个算法。TheBoustrophedonCellularDecomposition算法详解这篇论文标题为"CoveragePathPlanning:TheB......
  • 「动态规划」如何求地下城游戏中,最低初始健康点数是多少?
    174.地下城游戏https://leetcode.cn/problems/dungeon-game/description/恶魔们抓住了公主并将她关在了地下城dungeon的右下角。地下城是由mxn个房间组成的二维网格。我们英勇的骑士最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点......