算法人生(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

相关文章

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

openCV中KNN算法的实现

《openCV中KNN算法的实现》KNN算法是一种简单且常用的分类算法,本文主要介绍了openCV中KNN算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录KNN算法流程使用OpenCV实现KNNOpenCV 是一个开源的跨平台计算机视觉库,它提供了各

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义