复杂任务处理三部曲:系统化思维、结构化思维、流程管理
欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等,同时欢迎大家加我个人微信「java_front」一起交流学习
1 文章概述
在处理一些复杂任务时,我们有时很难理出头绪,有没有什么方法论一般性适用这些复杂任务?在实践中我认为以下三种方法可以有效应对复杂场景:
- 系统性思维
- 结构化思维
- 流程化管理
2 系统性思维
系统性思维分为两个维度:
- 维度一:当前任务服务于什么目标
- 维度二:不追求单点极值,追求整体极值
2.1 维度一
明确当前任务服务于什么目标非常重要,例如一个技术团队在做专项任务,本季度工作是系统稳定性,那么稳定性就是本季度核心目标,整体任务设计必须围绕这个目标展开,例如增加告警配置,制定代码规范,组织代码Review等等。
但是如果你本季度把系统性能放在首位,而忽略了稳定性建设指标,即使性能做得再好,也不会拿到好指标。
需要明确的是,并不是说性能不重要,而是当前最重要的目标是稳定性,所有工作要围绕核心目标展开。
2.2 维度二
假设存在两个任务:任务A和任务B,如果把这两个任务做到最好,是不是总目标就做到最好?答案是不一定,因为这两个任务有可能相互削减。
例如完结率和满意率就是两个削减典型指标:追求满意率很可能就不能迅速结单,追求完结率很可能有些事情就做不到多方满意。
例如开发人员在编写测试用例时,覆盖率是否一定要做到百分之百?如果单测这一个指标做到极值可能会减少测试时间,假设减少3天测试工期。但是编写覆盖率为百分之百测试用例需要花费5天,整体工期反而延长。
这就要做到动态平衡,例如开发人员只需要覆盖核心用例,这样既可以提升测试速度,编写测试用例也不会花费太多时间。
3 结构化思维
3.1 发现问题
大家工作中有没有遇到以下情况:一位同事用了很长时间罗列了很多事实和数据向你说明一件事情,但是你听完根本不知道他要说什么。另一位同事用了大量笔墨编写了技术方案,但是你看完也不知道这个方案到底要解决什么问题以及如何落地。
上述情况出现大概率是因为表述者没有使用结构化方法进行阐释,信息看似非常丰富但是杂乱无章,让人很难抓住重点,所以我们需要引入结构化思维。
金字塔原理就是一个由芭芭拉·明托女士提出的结构化思维方法论,风靡世界五十年并在各个行业都取得过很好效果。详细介绍参考我之前《金字塔原理如何应用》这篇文章。
3.2 结构化思维
结构化思维分为两个维度:
- 纵向维度
- 结论先行
- 以上统下
- 横向维度
- 归类分组
- 逻辑递进
3.2.1 纵向维度
结论先行是指开宗明义地展示中心思想,让听众一开始就明白沟通主旨,而如果把中心思想隐藏在沟通过程中,听众可能因为走神或者沟通信息太多而失焦,根本不知道你在说什么。结论先行具体有以下六个方面:
- 先重要后次要
- 先框架后细节
- 先总体后细分
- 先论点后论据
- 先结论后原因
- 先结果后过程
以上统下是指任何一个层的思想必须是其下一层思想的总结概括,我们分析一个例子进行说明:小王今天需要买牛肉、鸡蛋、萝卜、果汁、白菜、牛奶、青菜、鸡肉、酸奶,但这么多菜品他记不住。
我们不难发现牛肉、鸡肉、鸡蛋属于肉蛋类,白菜、青菜、萝卜属于蔬菜类,牛奶、果汁、酸奶属于饮品类,这样聚合之后再以上统下进行结构化表达。
3.2.2 横向维度
归类分组一般有四种维度:时间维度、结构维度、程度维度、经验维度。时间维度是根据时间线进行归纳,结构维度根据组织结构进行归纳,程度维度是根据程度级别进行归纳,经验维度是根据已有经验进行归纳:
- 时间维度
- 事前、事中、事后
- 短期、中期、长期
- 结构维度
- 信息部、行政部、人力部
- 开发组、测试组、运维组
- 程度维度
- 高级、中级、初级
- 重要、次要、不要
- 经验维度
- 市场战略3C理论
- 市场决策4P理论
- 高扩展、高可用、高性能
逻辑递进是指每种思想需要按照一定顺序进行排列,时间维度按照事前、事中、事后进行排列,程度级别按照高级、中级、初级进行排列。例如时间维度我们还可以继续使用怎样减少代码上线故障案例,按照事前、事中、事后时间线进行排列,这种顺序更加符合理解和记忆习惯。
4 流程化管理
流程化管理分为三个维度:
- 目标分阶段
- 进度定期同步
- 进度可视化
目标分阶段:大任务不可能一蹴而就,而是要还分成多个阶段逐步实现。例如第一个阶段先做成一个最小可用品,后续再进行迭代。
进度定期同步:核心是风险及时同步,尽早协调资源。例如利用早会和周会时间同步项目进度,早会要迅速抛出风险,周会要同步项目重大进度。
进度可视化:用可视化方法管理进度,业界有很多可视化项目管理工具,也可以用Excel表进行可视化管理。在实践中我一般使用三张表格:
第一张表是团队项目汇总表:列出团队所有项目进度,包括项目名称,需求文档,需求评审时间,技术方案评审时间,后端人员,后端开发时间,前端开发人员,前端开发时间,提测时间,测试人员,测试时间等。
第二张表是单个项目管理表:由本项目负责人维护。这就要根据功能点列出每个功能点时间点,例如后端、张三、用户登陆功能点开始时间和截止时间。
第三张表是人员任务管理表:主要是人员维度记录组内人员工作任务安排,组长根据组内人员工作繁忙程度进行任务调配。
5 文章总结
在面对复杂任务时,系统性思维核心是明确目标,结构化思维核心是拆解任务,流程化管理核心是及时抛出风险,可以使用三张表格管理项目进度。
欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等,同时欢迎大家加我个人微信「java_front」一起交流学习
上一篇: 营销团队的职能和结构是如何设置的?