算法人生(13):从“Scrum”看“PDCA时间管理法”

embedded/2024/10/19 19:45:12/

很多人会好奇为什么“读了很多书,却依然不知道怎么过好这一生”?大家可能都有各自的理解,但正如王阳明先生的“知行合一”所说,“知”要能“行”出来才算“真知”,生活中很多时候知并不一定能行,所以知与行之间还是差着些东西的。笔者认为,“知”与“行”之间差了一个“反复练习”,读了书上的道理,没有按照书中所说的去“行”,又或者“行了一次两次,就放弃了”,这是因为“思维的链接”要被建立的话,需要反复的过程,没有反复的练习,思维依然会链接到旧有的链条中。你看小宝宝刚刚咿呀学语的时候,同一个词和句子都是要跟着大人反复练习的。同样,成年人的思维链接很多已经固定了,要想凭着看几本书(只是知道,但不去实践),是不太可能将书本的知识转化为“智慧”的,智慧要靠“实践”书本上的知识,要靠“反复练习”才能拆解旧有的思维链接,建立新的思维链接。对于反复练习时间的方法,IT人常用的Scrum倒是一个很好的借鉴思路。

Scrum是一种敏捷项目管理框架,项目被划分为一系列短周期的工作单元,称为Sprints,通常持续1-4周。每个Sprint的目标是交付可工作的产品增量。它强调迭代式增量开发,旨在短周期内完成目标并持续改进产品,大致的步骤分为Sprint Planning,Daily Scrum,Sprint开发,Sprint Review,Sprint Retrospective,这些步骤从另外一个PDCA循环角度来看是这样的:

  1. 计划(Plan):在Scrum中,这个阶段对应于Sprint Planning会议。团队基于Product Backlog选择一组User Stories或其他工作项作为Sprint Backlog。在这个过程中,团队明确计划在接下来的一个Sprint(一般为两周至三周)内要完成的工作。

  2. 执行(Do):这是Sprint执行阶段,团队在这个时间段内开发产品功能,进行测试并准备演示。整个Sprint期间,团队专注于实现Sprint Backlog中所定义的目标。

  3. 检查(Check):主要体现在两个方面:一是通过每日站立会议(Daily Scrum)对进度进行日常检查,同步进度、协调合作并解决障碍;二是Sprint Review,在此阶段,团队展示他们已完成的功能,并与其他利益相关者一起审查产品的增量成果,收集反馈。

  4. 行动(Act):对应的是Sprint回顾会议(Sprint Retrospective),在该会议上,团队成员反思过去Sprint期间的工作方式,识别出哪些地方做得好,哪些需要改进,并制定具体的行动计划以便在下一个Sprint中实施改进措施。这个过程确保了团队能够不断地从实践经验中学习并提升效能。

说到PDCA循环,它是美国统计学家爱德华兹·戴明博士推广普及的一种连续循环过程,包含“计划(Plan)、执行(Do)、检查(Check)、行动(Act)”的一种科学的质量管理和持续改进的方法论,它基于迭代改进的思想,鼓励在计划、执行、检查和行动四个阶段中形成闭环管理,确保每一个改进过程都是基于上一轮的反馈和学习,大致的步骤如下:

  1. 计划(Plan):确定目标,分析现状,识别问题,制定改善措施和计划方案。

  2. 执行(Do):按照计划实施方案,执行改进措施。

  3. 检查(Check):收集数据,监测执行结果,对比计划目标,检查执行效果是否达到预期。

  4. 行动(Act):基于检查结果,分析原因,采取相应行动。如果是成功改进,将成果标准化并推广应用;若是未达预期,则需重新分析问题,修订计划,再次执行PDCA循环,直至问题得到解决。

让我们来举个例子,看看PDCA循环如何可以提升个人的时间管理效率:

  • 计划阶段(Plan):个人可以根据当前的项目安排情况和个人的学习,生活安排来制定详细的计划,包含时间的分配,重要的事情在什么时候做,琐碎的事情是否可以统一划分到某个时间段一起做,与人沟通的事情要看别人的时间点等等,可以明确每日、每周乃至一个时间段内的工作和个人生活的目标,以及完成每个任务大约所需的时间;

  • 执行阶段(Do):严格执行计划,可以参考敏捷开发或番茄工作法等时间管理方法,确保每个时间段都能专注于手头的任务,远离容易产生干扰的环境或事物,减少干扰和中断。这里依然推荐大家尽可能的进入“心流”中做事情,因为在心流中,“我”被放的很小,更容易集中精力在当前的事情上,从而完成这件事情的效率和质量就相对没有进入心流(有分心时)更高些;

  • 检查阶段Check):定期评估任务完成情况,使用书面记录的方式或一些工具软件,定期检查计划和现实之间的差距,以免差距已经很大了才发现,那时候补救就更困难。笔者推荐有书面的形式来记录,而且最好能展示在视线经常可见的范围内,这样方便及时提醒自己。

  • 行动阶段Act):分析制定的任务被很好完成或没有按时完成的原因,思考如何才能发扬优点继续完成更多任务,或者要如何改进某项任务才能赶上进度,以后要如何避免类似事情的发生。这是一个自我思绪整理的过程,比如某项任务已经安排很久,但是一直拖延不做,就要深入分析是为什么迟迟不能开始,是因为担心会失败,还是追求完美等等。只有找到原因,才能去思考解决,才能去实践解决方案是否奏效,这是一个不断实践、修正、循环,逐渐稳定的过程。
     

PDCA思想有一个重点是,基于“实践结果”,调优后循环继续实践,这也是一条从“知”走到“行”的良好路线。只有不断地实践了,基于结果去修正如何继续行,如何更好的行,如何不受外界环境影响还能行,加上不断地循环过程可以加强新思维链条的建立,从而才能更好地将书本的知识转化为自己的“智慧”!


http://www.ppmy.cn/embedded/23955.html

相关文章

关于发布 npm 包镜像库,马上 pnpm 安装报未找到版本的问题?

关于发布 npm 包镜像库,马上 pnpm 安装报未找到版本的问题? 背景:我们在发布共有 npm 包时,npm 官方镜像发布成功,但是淘宝源下载却没有找到刚发布的版本,下面是我遇到问题心路历程 文章目录 关于发布 npm…

【JS】节流与防抖技术

JavaScript: 节流与防抖技术 当用户进行滚动、调整窗口大小或进行频繁的键盘输入时,页面上的某些事件处理器可能会被频繁触发。如果每次事件触发都执行函数,可能会对性能产生显著影响。在这种情况下,我们可以利用节流(Throttle&a…

C#中的扩展方法

C#中的扩展方法是一种非常实用的语言特性,它允许我们在不修改原有类定义的情况下,为其添加新的方法。这种机制极大地增强了代码的灵活性和可维护性,特别是在处理第三方库或无法直接修改源码的类时尤为有用。下面,我将详细阐述C#扩…

数据结构-链表

链表:链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 自己实现一个链表: public class SingleLinkedList {//头插法public void addFirst(int data){}//尾插法public void addLast(int data)…

[Rust开发]在Rust中使用geos的空间索引编码实例

geos的空间索引用的是STRTree,这是一种基于STR算法的四叉树索引,有如下特点: 使用Sort-Tile-Recursive (STR) 算法创建的仅查询的R-tree空间索引 STR(Sort-Tile-Recursive,递归网格排序) 基本思想是将所有的矩形以“tile”的方式分配到r/n&a…

TablePlus for Mac/Win:开启高效数据开发新纪元

在当今数字化时代,数据的重要性日益凸显。无论是企业还是个人,都需要一款强大而实用的本地原生数据开发软件来提升工作效率。而 TablePlus for Mac/Win 正是这样一款卓越的工具,它为用户带来了全新的体验,让数据开发变得更加轻松、…

阿里巴巴瓴羊基于 Flink 实时计算的优化和实践

摘要:本⽂整理⾃阿里云智能集团技术专家王柳焮⽼师在 Flink Forward Asia 2023 中平台建设专场的分享。内容主要为以下四部分: 阿里巴巴瓴羊基于 Flink 实时计算的平台演进Flink 能力优化与建设基于 Flink 的最佳实践未来规划 1. 阿里巴巴瓴羊基于 Flink…

Three.js相比Babylon.js的优势

Three.js和Babylon.js都是流行的WebGL框架,用于在浏览器中创建和展示3D内容。它们各自有不同的优势,以下是Three.js相比Babylon.js的一些优势。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.社区和文档支持…