职场分享:PDCA 模型

星球小伙伴们大家好,我是贺哥,好久没来星球分享了,😭,最近一段时间沉迷搬砖,日渐消瘦,o(╥﹏╥)o


今天下班比较早,结合最近一段时间工作上的体会,给大家简单分享一下怎么做一个好的技术规划,希望对大家有启发~


1. 技术规划的本质


首先,技术规划的本质


  1. 不是一时的头脑发热,不是一件件 TODO 列表,而是对一个明确目标起到导航的作用;
  2. 不是所谓的葵花宝典,而是通过合理的,设立规划目标、阶段性的里程碑,不断做有积累的事情,最终就能够得到理想的结果;
  3. 规划不是教科书,也不是永远一成不变的,需要有定期 review;
  4. 是外部视角快速理解你所做的事情的最佳渠道;(职场晋升之类);


这里,我想表达的是,没有任何一个需求是小需求,任何的事情都值得去好好的做一个规划,并且尝试将问题解决的更好更完美;


2. PDCA 模型


技术目标的实现可以基于 PDCA 模型去推进的,任何一个技术的需求或者需要拿到技术结果的点都可以采取 PDCA 模型进行规划和推进执行;


  1. Plan(计划): 需求和目标的确定和计划的制定/调整;
  2. Do(执行): 按照计划实现规划的内容;
  3. Check(检查): 总结执行的结果,哪些做对了?哪些做错了?明确效果,找出问题;
  4. Act(行动): 对检查的结果进行处理,成功的经验加以肯定,并形成标准和规范,后续强化,对于失败的教训进行总结和复盘,后续规避,对于遗留的事情在下一个 PDCA 循环中进行处理。



3. 规划的目标


目标的设定非常的重要,是能够取得结果的关键因素,清晰的目标,也是保证高效工作的最重要的因素;


3.1 基于痛点/机会寻找目标


寻找目标通常是规划中最难的部分,痛点或者机会并不是主观上的感受或者凭空的猜想,而是需要做大量的分析和假设验证,通过数据量化和分析,才能去找到适合团队/自己的可以够得到的正确的目标;


设立目标一般可以遵循 SMART 原则,可以逐条对照目标原则看你的目标是否符合。

- Specific (明确性)

- Measurable (可量化性)

- Attainable (可实现性)

- Relevant (相关性)

- Time-bound (时限性)


举几个🌰比如说


✅ 在这个双月将我们的系统稳定性提升到 99.99%,P99延时 降低到 50ms

✅ 将 xx 功能在本双月完成上线,取得 D1 留存相对 5% 的提升;

❌ 今年年底前赚他 1 个小目标

❌ 这个双月把性能优化做好;

❌ 持续推进工程效率提升;



3.2 基于 W1H 分析法 Why / Who / When / Where / What / How


✅ 因为经常在半夜接到服务的报警 / 我 / 在这个双月计划 / 在我们的系统中 / 将服务稳定性提高到 99.99% / 通过重构和报警阈值设置的方式;


✅ 因为产品 DAU 增长放缓 / 我们团队 / 计划在今年 / 在自然流量和用户留存方向上 / 将 DNU 提升到 xxxM,D1 留存提升到 xx / 通过数据分析、数据挖掘和需求迭代的方式;


✅ 因为上周体检结果脂肪肝的原因 / 我 / 在最近 4 个月计划 / 在健身房 / 将体重减 20 斤 / 通过有氧运动的方式;


3.3 其他考虑因素


  1. 收益:目标一定是能够获得业务收益的,例如收入、成本、效率、体验,不要设立一个无法明确收益的目标。
  2. 技术:从技术层面来看,分为三个层次:现有扩展或者深度挖掘,新方向探索,发展趋势判断。越往后面的层次约考验技术同学的技术判断能力,这个需要大量的积累。
  3. 团队:目标是否是现有团队人力可以承受的?技术能力上团队是否能够支撑?比如做一个操作系统可能就不是一个中小公司可以考虑的事情,或许只有华为、BAT这类大型公司才有可能落地实现。



4. 目标拆解


目标明确后,就要对目标实现的路径进行拆解了,和 OKR 拆解的方式是类似的,KR 全部实现后应该是能够达成目标的,可以衡量的;


比如常见的有脑图思维,架构思维,具体就不展开了,感兴趣的同学可以自行去找资料。



5. 执行计划


目标拆解清楚了之后,并不意味着技术规划就完成了,我们之前仅仅只是完成了理想状态下的拆解,还需要结合实际的情况看看怎么样执行,才能最终达成理想状态的目标,执行计划产出的是拆解列表;每个月需要做到什么程度,每个季度需要做到什么程度。等等等,


接下来,需要考虑的是


5.1 资源评估


永远要搞清楚手上有什么牌?没有金刚钻,不揽瓷器活


人力资源,机器资源,合作资源等。


5.2 优先级评估


  1. 聚焦重点,稳步前进
  2. 所有的 KR 应该只有 P0, P1, P2 的优先级;
  3. P0: 重要紧急P1:
  4. 重要不紧急P2:
  5. 不重要不紧急
  6. P0 总数建议最多不超过 3 个,每个子方向建议最多 1 个 P0;
  7. 优先级原则:如果现在的资源只能实现一个 KR,那这个 KR 是什么P0
  8. 是必须保证按时按预期目标交付的;


5.3 风险评估


  1. 规划中的方案是否具备可行性?
  2. 规划是否适合当前产品和团队/个人情况?
  3. 是否有内部/外部 支持?
  4. 是否有超出自己认知/能力外的部分?需要引入相关领域专家介入?
  5. 是否会给自己或其他业务/团队带来影响?
  6. 是否有 Plan B?



6. 规划对齐


你的规划也许并没有考虑的非常周全,当完成初版后,有一个非常重要的工作就是对齐,保证所有人的优先级和资源判断都是一致的;


  1. 和上级/Owner 对
  2. 和合作方对齐
  3. 和外部合作方对齐
  4. 和下级对齐(如有)


做好上面几步,基本上一个技术规划做的很不错了,接下来的,就可以开始执行了!


#技术 #分享

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
作者分享
#资源# #分享# 微信读书 得到电子书会员能覆盖很多书,找不到的,可以看下下面两个网站 https://zh.z-library.se/ https://zh.annas-archive.org/
22
#资源,好久没有在星球里给大家分享了,最近半年在忙自己的一个大事情,没怎么冒泡(无辜脸.jpg),趁五一假期的小尾巴,给大家分享一个很牛的知识库网站,包括编程语言、算法与软件架构、Web 与大前端、服务端开发、运维与高可用、云与分布式基础架构、人工智能与深度学习等等。 看界面还有完整的技术 & 产品 & 商业知识体系等知识,大家可以收藏学起来! https://ng-tech.icu/ #分享# #经验#
46
#职场# #经验# 隔壁星球小伙伴分享的,觉得写得不错,在分享一下给大家 《对职场的十点建议》 假如您的孩子大学毕业,初入社会,只允许您传授10条经验给他,您会说什么?对于很多像我一样农村出来的穷二代,父母面朝黄士背朝天供养我上大学和维持基本的生活已经拼尽全力,很多经验都需要自己付出实际的代价去获取,太昂贵。没有高人指点,自己悟性又一般,希望您能不音赐教。谢谢您的时间 排序不分先后。 第一是要用心。做什么事情都要用心。同样做一件事情,花不花心思,结果差很多。要么不做,要做就用心做好 第二要受得了委屈。工作不是在家里。想干就干,不想干就不干。稍微被说几句就服负气的玻璃心的人不适合工作,还是在家里呆着吧应该也没有什么成就 第三勤奋。天赋都差不多的情况下。比的就是谁更勤奋更努力。整体而言勤奋努力的运气就会更好一点。 第四就是,做杂事。下闲子,有用没用的事情都做做,整天只做有用的事情。也会错过那些现在看没什么用,但以后可能会很有用的事。 第五就是。多见人,什么人都聊聊,见见。机会更多。别一个人呆自己的世界里闷着,总拿自己的世界观去看这个世界。眼界只会越来越小 第六就是学会扛责任,遇到事情别推责任,错了就是错了,别找理由借口。 第七,别耍小聪明,耍滑头,一眼就看出来的聪明都是小聪明,挑肥拣瘦,偷工减料,损公肥私都是小聪明。时间久了,谁是谁,大多数人都一清二楚,没必要装。 第八,!学会辨别好人坏人,然后选择跟好人一起,离开坏人。所谓好坏未必是违法乱纪更多是没责任心,喜欢蹭你便宜,出了事,责任都推给你,好处都自己占的人,有这种领导赶紧离开 第九,尽量选择自己喜欢的行业,每天问问自己,喜欢什么擅长什么,把自己的长处做到极致,扬长避短能事半功倍 第十,做个好人,做个对世界抱有善意的人积极乐观的看待世界。这个世界永远都会存在各种问题,无论你悲观还是绝望,都依然存在乐观,悲观都改变不了世界,但是乐观能让你走的更远。悲观只会被抛弃。别做悲观的人也远离悲观的人。(校长语)
40
#经验# #职场# 《混大厂,如何找到自己的生态位》 这两天前老板来深圳出差,一起吃了饭聊聊天,聊到一个话题,职场生态位, 大家也知道,现在大厂晋升也是越来越卷了,一方面是组织架构庞大,在降本增效的大目标下每个人要多做更多的活,但其实同质化也很严重,另一个方面,晋升考核越来越严格 职场生态位:指自己在职场生态当中所占据的位置,尤其是为关键岗位提供核心价值的位置。只有抢占了职场生态位,我们的地位才会最稳固,职位晋升才能最快,个人能力获得最大的提高。当然了,也能轻而易举地收获最多的Money。 在团队里面,你能解决问题,提供成果,或者能提供通往业务目标的方向/方法/捷径,替别人替组织赢得一个生存空间,在生态位上有自己的护城河,你就占据很大的优势。 举个例子,我们常见的,酒店前台,外卖小哥、快递员等等这类靠出卖苦力,没有特别技术含量的职位,就处于职场生态位的比较低端的位置,而且随时有被取代的可能。 而工程师、医生、律师、财务、高级管理人才等技术工种,这些随着经验积累,越来越值钱的职业,就处于职场上比较高端的生态位。 当然这里没有任何歧视岗位的意思,只是做一个对比,毕竟,几十年的工作经验很难被取代。 如果你已经在职场上抢占了不错的生态位,那么恭喜,把眼下工作好好做,就能提交一份满意的人生成绩单 微信公众号平台 18 年以后新注册的默认都没有留言功能,其实类比任何行业,早就是优势,比如社群,平台,人脉链接,早点抓住机会,抓住生态位,抱住大佬,靠近大佬,早点付费进群,抓住身边大佬的生态位,就比晚来的人占据极大的优势 那么,普通人如何找到自己的生态位? 《https://wx.zsxq.com/mweb/views/weread/search.html?keyword=精进3》的作者采铜老师说:找到生态位很难,创造生态位却很简单。关键点只有三个字:被需要。  这个点怎么理解,比如说我们组的例子,因为最早和我同级的一个小伙伴呢,他来的最早,他可能大二就开始来这边实习了。 就现在他基本上在组里面工作时间最长的,而且对整个我们这趟业务刚做起来的时候,他是最原始的几个人之一,所以说他现在对整个业务的这个了解熟悉程度,上下游链路,包括和其他团队合作模式都比我们后来的人都要清楚,那么他就能做一个小组长的管理,有带人的经验,这样晋升机会就比别人大很多。 那么说回来,如果说你在一个新团队里面,可能是后面来的人,或者说刚加入不久的。那么如果你要找到自己的生态位的话,有几个建议 首先第一个就是说在这个团队中,你要找到自己熟悉的项目,或者感兴趣的项目,或者说要抢到一个很好的活,然后在这个周期中把这个活做好,做得出色,让领导满意,而且是被领导所关心的问题,把领导关心的问题解决好,自然而然领导就关注到你,机会就多了 另外一个你要就是跟一些合作方去聊,或者说一些历史的一些遗留问题去梳理啊,找到一些解决方案,然后呢把这个事一步步推进去,做一些优化之类的,能够改善我们现在已有系统的性能,这个你也可以做一个就是前期的一个技术积累,去做一个优化的一个方向积累,这样也能形成自己的壁垒。 另外还有就是除了把工作做好,如何把工作成果汇报的好也是一个技能,反正在互联网公司混,能力是一方面,让别人如何看到你的能力,展示出来也是很重要的事情。 先聊这么多,大家加油💪
25
#技术# 经验 职场 #嘉宾分享# 《一道腾讯音乐面试题,来看如何回答监控检测问题》 最近有个学弟来问我,说前两天,参加腾讯音乐面试的时候,二面问到了这么一个问题: 在一个Linux服务器集群上,如果服务端A线程池中处理过程中出现了异常,但是这个时候节点CPU和内存都没有影响,那么,如何去检测他的线程运行情况,以反馈回去给RPC中枢节点通知服务端A的状况? 另外,除了服务端A中CPU和内存(硬件指标),还可以监控那些指标,特别是软件指标? 这个问题其实比较典型了,背后考察的是在 Linux 服务器如何做线程运行检测,硬件指标,软件指标的监控熟悉度 那么,我们可以分几个点来回答 首先,第一个,线程/线程池运行情况,一般做法是通过在程序中打监控埋点日志上报,或者专门的 SDK 来定时检测报警 那么第二个,检测的指标有哪些,这里也根据经验列出一些常见的 1. 线程池状态:监控线程池的当前状态,如线程池大小、活动线程数、任务队列大小等。这可以帮助识别线程池是否已满或是否存在线程饥饿等问题。 2. 线程池任务队列状态:监控线程池任务队列的状态,如任务队列长度、任务等待时间等;有助于识别任务队列是否拥堵或是否存在长时间等待的任务。 3. 异常计数器:记录线程池中发生的异常数量和类型。这可以帮助我们识别线程池中频繁发生的异常,以便及时进行故障排查和修复。 4. 请求吞吐量:监控单位时间内处理的请求数量,从而评估系统的性能和负载情况。 5. 请求响应时间:监控每个请求的平均响应时间、最长响应时间和百分位响应时间等指标,来识别系统的性能瓶颈和慢请求。 6. 错误率:监控请求处理过程中的错误率,如请求失败的比例,来识别系统中的错误和故障。 7. 系统日志:监控系统日志中的异常信息、错误消息和警告信息等,了解系统的运行状况,并及时发现潜在的问题。 8. 服务可用性:监控服务的可用性和健康状况,如服务的响应时间、成功率和错误率等。来评估服务的可靠性和稳定性。 通过监控这些软件指标,可以更全面地了解服务端 A 节点运行情况,可以看得出,上面的路径,其实不仅包括单节点的检测,也把系统全局的问题都检测到了。 在系统的稳定性建设这块,可以更好的把握,并及时发现和解决潜在的问题。同时还可以将这些指标发送给 RPC 中枢节点,以便进行集中监控和管理 那么除了监控线程池状态和任务队列状态,还可以使用以下方法来检测线程运行情况: 1. 线程转储(Thread Dump):线程转储是一种获取线程状态信息的方法。通过生成线程转储文件,可以查看线程的堆栈跟踪信息,包括线程的状态、执行的方法和锁的持有情况等。这可以帮助识别死锁、线程阻塞和线程竞争等问题。 2. CPU 采样(CPU Profiling):使用 CPU 采样工具,如 Java 中的 VisualVM 或 YourKit Profiler 等,可以对线程的 CPU 使用情况进行采样和分析。来识别线程的 CPU 消耗情况,找到耗时较长的方法和代码块。 3. 内存分析(Memory Analysis):使用内存分析工具,如 Java 中的 VisualVM 或 MAT(Memory Analyzer Tool)等,可以分析线程的内存使用情况,内存泄漏、对象的创建和销毁情况等。 4. 监控系统指标:除了线程相关的指标外,还可以监控系统级别的指标,如 CPU 利用率、内存使用情况、磁盘 I/O 等。评估系统的整体负载和性能,从而更好地分析线程运行情况对系统的影响。 5. 日志分析:通过分析系统日志、应用程序日志和异常日志等,可以了解线程在运行过程中是否出现了错误、异常和警告信息,跟踪线程运行过程中的问题和异常情况。 6. 分布式跟踪(Distributed Tracing):对于分布式系统,可以使用分布式跟踪工具,如 Zipkin、Jaeger 等,来跟踪请求在系统中的完整调用链,包括线程的执行情况,来分析请求在各个服务和组件中的处理时间和线程状态。 总之,通过一道简单的面试题,我们把常见的考察点做了梳理,对后面如果遇到相似的,也可以快速调动记忆,根据实际情况,举一反三的回答。٩(๑^o^๑)۶
21
下载 APP