人生如产品,产品映人生,借鉴产品思维,快速提升软技能!
IT的小伙伴想必都听过或使用过Kanban(看板),今天我们要聊一聊,如何从Kanban方法中找到高效管理时间的思路。
Kanban(看板,意为“公告牌”或“信号板”)是一种可视化管理工具,它通过看板显示工作项的状态和流动情况,促进团队协作和流程透明化。在互联网开发领域,Kanban方法也是一种敏捷开发框架,一种视觉化的流程管理方法,它强调的是“流动性和持续改进”。
Kanban方法的大致步骤如下:
- 定义流程:明确团队的工作流程,将流程拆分为若干个阶段,并在看板上创建对应的列来表示这些阶段。
- 可视化工作流程:通过视觉化的展示,清晰展示出所有工作项及其当前所处的状态或阶段,让团队成员能够实时了解整体项目的进度。
- 拉动系统:只有在下游阶段有足够的产能(代码开发所需的人力、硬件资源等)时才从上游阶段“拉动”任务,这样可以避免过度生产或堆积过多未完成的工作。
- 限制在制品:设置WIP限制”Work in Progress”(进行中的工作,在制品)以减少多任务并行导致的效率下降,迫使团队集中精力完成手头工作后再接手新的任务。(在敏捷开发和项目管理中,WIP通常指的是团队正在进行中但尚未完成的工作项的数量。包括待办事项、任务、需求、缺陷等。)
- 持续改进:随着团队对流程理解的加深,团队通过定期回顾和分析看板数据,持续地识别流程中的问题和改进点,并采取行动优化流程。
以上步骤,我们可以看出Kanban方法的大致思路是这样的:
- 收集(Capture):在看板方法中,所有的待处理工作项(如用户故事、任务、bug修复等)会被记录在看板系统的“待办事项”或“需求池”列表中。
- 整理(Clarify):在看板方法中,任务被提取到看板系统的“待处理”或“待开发”列之前,这一步包括任务的澄清和细化,明确任务的目标、期望结果以及实现路径等等。
- 组织(Organize):通过工作流程看板可视化工作流的各个阶段,如“待开发”、“开发中”、“待测试”、“已测试”、“待部署”和“已完成”。每个阶段代表了任务的不同状态,团队成员可以清晰地看到每个任务所在的位置和各个阶段任务的数量。
- 执行(Do):团队成员根据看板指示,从左侧的列开始逐个执行任务,直到任务完成并移动到右侧的“已完成”列。
- 回顾(Reflect):通过定期召开回顾会议,团队成员可以回顾过去一段时间的工作流程,识别瓶颈、发现问题并提出改进措施,确保看板系统的持续优化和完善。
这个思路也同样适用于我们日常的时间管理,尤其是GTD时间管理法,他们在思考和执行层面有着异曲同工之妙。
GTD时间管理法(Getting Things Done)的核心理念是清空大脑,通过一个系统的流程将生活和工作中的一切事务转化为清晰的下一步行动,从而减少压力、提高生产力和实现工作生活的平衡。它主张全面捕捉、明确意义、组织整理、及时回顾和坚定执行五个步骤来管理日常任务和项目。它的具体步骤如下:
- 收集(Collect):全面捕获所有想法、任务、项目等信息,不论是想法、任务、会议、邮件还是电话,要确保大脑不会因记忆负载过大而分心或焦虑。
- 处理(Process):对收集的信息逐一进行处理,决定下一步行动,如是否需要立即采取行动、转交给他人处理,还是暂时搁置或废弃。对于需要行动的事项,进一步将其转化为具体的行动步骤。
- 组织(Organize):将行动步骤和项目放在清单中,分别归类和标记。
- 下一步行动清单(Next Actions List)列出所有明确的、可以立即执行的任务。
- 等待清单(Waiting For List)记录那些已经委派出去但仍需追踪的任务。
- 项目清单(Projects List)汇总所有正在进行的项目及其相关下一步行动。
- 将来也许清单(Someday/Maybe List)记录暂时不紧急但可能在未来实施的想法或计划。
- 回顾(Review):定期检查和更新任务列表,确保所有事项都在掌控之中,同时要审查项目的进展和长期目标是否一致等。
- 执行(Do):根据情境、时间、精力和优先级选择合适的行动去完成,并在整个过程中持续同步和更新清单。
同Kanban方法类似,GTD时间管理法,只是将项目或团队的任务转变成了个人的任务,将个人不管是具体行动的还是脑海中的想法都书面化呈现,从而达到减轻大脑记忆,并可以针对具体的想法或任务来提出相应的解决方案或者放弃,转交给他人等等,从而确保每一个想法都能被妥善安置,进而让自己的时间分配更聚焦,不散乱。
让我们结合程序员的生活来举个例子,程序员的工作生活通常会涉及:代码的编写、bug修复、需求讨论、技术研究、技术架构、文档撰写等。他们可以按照以下方式应用GTD:
- 收集(Collect):使用在线笔记工具或项目管理软件(如Trello、Jira、Notion等)捕捉所有工作任务和想法。
- 处理(Process):根据当前阶段的目标和任务的性质,看如何处理比较合适,比如有些bug具有依赖性,可以先等协作方修复好后,再安排时间修复,这个任务就是先记录,等待后续跟进。有些文档的撰写,可能需要但不是很紧急,就放到稍后处理中。对于一些大型的模块开发,可以将其拆解成子任务,再跟进依赖性、重要性确定各个子任务的优先级。
- 组织(Organize):创建不同的清单来管理各类任务,如编程任务清单、文档编写清单等,并标注任务的预计完成时间、所需的资源等。
- 回顾(Review):每周或每日定时回顾任务列表,更新进度,确认哪些任务已完成、哪些需要延期或者有突发情况,需要重新安排优先级等。
- 执行(Do):在撸代码期间,根据情境和优先级选择当前最适合完成的任务。例如,当等待编译时,可以处理一些需要较少集中精力的零碎任务,而在整块的工作时间段,则可以专注于编写复杂的代码或解决某个技术难题。
思考框架大致如上,具体的内容大家可以各自填充。
其实工作中的很多方法都可以尝试应用到个人的生活中,从提升团队的效率转为提升个人的效率,大家也可自己多观察,找到更适合自己的方法或思路。
总的来说,通过GTD时间管理法,程序员可以有效的减轻大脑负担,让自己更关注在当前重要的事情上,而且有了可视化的内容,让自己做事更能聚焦,从而提高了工作效率,减少了由于任务过多和压力过大带来的困扰。
本文由 @养心进行时 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。