今天发生2件挺有意思的事情, 很多小伙伴日常工作中也会遇到, 在这里顺手整理下

首先和同事沟通一个本以为很简单的任务. 对接时候发现用了很复杂的手段去解决. 让我很疑惑, 为什么呢? 经过反复确认, 原来他意图在不改变现状的前提下通过打补丁的方案去解决. 打完补丁发现还有新问题, 接着继续打补丁. 打了几层补丁之后实现了完整逻辑分支流程的覆盖. 了解事情经过之后我思考了一会, 提出一个新的方案. 共同讨论之后, 结论是用新方案只需要增加1点点代码, 就可以让整个逻辑分支大幅度缩减. 实现大家的改动都很小的全局最优解.

没多久轮到我和领导汇报工作, 关于我最近在处理的事情和接下来的工作. 沟通过程中发现我好像没有领导的意图, 始终感觉哪里不大对.自认为我做的工作是对的, 但是感觉不是领导想要的. 这让我很恼火, 到底问题出在哪里?

深挖了一下2件事情的各自原因. 其实底层问题是一样是 目标不明确, 意识到后情不自禁的乐了. 哎, 人啊就不能长点记性, 老是在同一个错误里面反复滚打. 既然理清楚问题就好处理. 再次整理下通用解决方案, 给自己提提醒

1. 确定要解决的核心问题

日常工作中经常会干重复性高, 繁琐的事务性工作, 一不留神容易陷遇到问题只想着解决眼前问题的无意识心态. 或者是一项新的业务, 如何尽快的开展工作?

应对办法其实很简单, 就是每件事情和工作都要深挖一下, 核心要解决什么问题是什么? 如果能找到问题的根源和核心问题. 意味着接下来大概率不会推翻重来. 比如: 错误的产品方案, 错误的数据库结构, 错误的接口规范等等等…每一次重来都是巨量的工作量, 时间无法弥补回来.

2. 界定问题的边界

明确了核心问题之后, 通常还会掉入另外1个陷阱, 此时脑海中会自动构建出1个"完美"的解决方案.好像问题已经解决7788了.

这时候如果和身边的人讨论一下, 就会意识到"完美"的解决方案只是一个快速解决思路, 或者称之为框架. 并不能直接付诸行动, 否则大概率也会推翻重来, 比如: 错误的产品方案, 错误的数据库结构, 错误的接口规范等等等.

这个阶段紧要着重考虑的点应该是: 围绕核心问题, 有哪些相关问题是必须要解决的, 哪些是可以忽略的. 把问题分层, 分块; 核心问题解决哪些任务, 相关必须解决的问题要怎么处理? 注意哪些事项等等, 界定了边界才能明确如何更高效优雅的去解决.

3. 站在巨人的肩膀人

嗯, 这个步骤原本以为可以省略, 最近发现并不能省略. 因为大家很喜欢躺在舒适区里面啊, 不用动脑子真的好爽啊, 只需要用自己顺手的方案马上动手. 比如马上用顺手的语言, 框架, 技术选型. 干就完事了呗!

恰恰是这个阶段更应该警惕! 理由就是: 太阳底下无新事.

大部分时候我们所遇到的问题, 通常都会被前人思考过, 解决过, 总结过, 甚至发展成一套成型的理论. 这意味着很有可能, 针对这个问题, 有特定的解决方案或者技术, 大一点可能是 原始数据, 技术选型, 架构, 语言. 细节展开到 算法, 类库, 代码段等等, 我们如果不知道前人经验, 自己去踩坑. 嗯, 不说了, 都是泪!

所以动手前最好再慎重点, 擅用 搜索引擎 + 领域相关文献区 + 社群资源, 用合适的关键字和问题去搜索是否有现成的解决方案. 最好能让我们可以站在牛顿的肩膀上.

4. 最小MVP

最后这个步骤属于个人习惯. 遵循上面几个步骤之后, 测试完不确定的解决方案和风险点之后, 我会用最小可执行代码尝试跑个流程. 搭建框架, MVP 跑起来, 后续在 MVP 的基础上进行扩充.

最后总结一下, 希望大家工作中不要陷入无意义的为了忙而忙状态. 时刻牢记如何优雅的解决核心问题, 从而让自己有更多的时间进行思考, 进入良性循环的状态.