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

2024-04-30 05:20

本文主要是介绍算法人生(13):从“Scrum”看“PDCA时间管理法”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很多人会好奇为什么“读了很多书,却依然不知道怎么过好这一生”?大家可能都有各自的理解,但正如王阳明先生的“知行合一”所说,“知”要能“行”出来才算“真知”,生活中很多时候知并不一定能行,所以知与行之间还是差着些东西的。笔者认为,“知”与“行”之间差了一个“反复练习”,读了书上的道理,没有按照书中所说的去“行”,又或者“行了一次两次,就放弃了”,这是因为“思维的链接”要被建立的话,需要反复的过程,没有反复的练习,思维依然会链接到旧有的链条中。你看小宝宝刚刚咿呀学语的时候,同一个词和句子都是要跟着大人反复练习的。同样,成年人的思维链接很多已经固定了,要想凭着看几本书(只是知道,但不去实践),是不太可能将书本的知识转化为“智慧”的,智慧要靠“实践”书本上的知识,要靠“反复练习”才能拆解旧有的思维链接,建立新的思维链接。对于反复练习时间的方法,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思想有一个重点是,基于“实践结果”,调优后循环继续实践,这也是一条从“知”走到“行”的良好路线。只有不断地实践了,基于结果去修正如何继续行,如何更好的行,如何不受外界环境影响还能行,加上不断地循环过程可以加强新思维链条的建立,从而才能更好地将书本的知识转化为自己的“智慧”!

这篇关于算法人生(13):从“Scrum”看“PDCA时间管理法”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/947999

相关文章

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

康拓展开(hash算法中会用到)

康拓展开是一个全排列到一个自然数的双射(也就是某个全排列与某个自然数一一对应) 公式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且0<=a[i]<i,1<=i<=n。(a[i]在不同应用中的含义不同); 典型应用: 计算当前排列在所有由小到大全排列中的顺序,也就是说求当前排列是第