卓有成效的软件交付 - 烦恼篇 - 1+1 = 5、问题、烦恼和魔法
人人都有烦恼。
古今中外解决烦恼都有一套:基努·里维斯的1+1 = 5

孔夫子的:三季人的故事

司马懿的:学会向愚蠢低头

程序员-Jesse Robbins: Don’t fight stupid, make more awesome.

这些都是一个策略,不过这个策略被基努·里维斯传播得更广,因为最简单(越简单,越容易流传)。可以简单叫做“1+1 = 5”策略. 据说掌握这个策略可以让你多活10年,快快学起来!
问题 vs. 烦恼
在这里,我要隆重地把问题和烦恼区别开。

我们从这几个维度来讨论一下“问题”和”烦恼”:
英文近义词: 我们讨论的上下文里的“问题”,可以找到英文的近义词,比如:Problem, Issue; 而“烦恼”的话,则比如,Trouble, Worry;
诉诸人或事: 问题 - 通常是直接和事相关,可能是具体的某个事情,或者是某一类事情和合集。 烦恼 - 通常会和人(人际关系)相关。烦恼会由问题引发,然后诉诸到人上。
归类: 问题 - 可以归类到程序性问题。Eventually, 可以被程序解决,可以被算法化。 烦恼 - 可以归类到非程序性问题,即人的问题。
主客观性: 问题 - 偏客观事实,Factors, 发生了什么事情; 烦恼 - 偏主观感受,Feel, 对这个事情的解释,或者感受;
理性感性: 问题 - 偏理性,慢思考,逻辑判断; 烦恼 - 偏感性,快思考,感觉经验;
复杂度: 问题 - 偏简单、繁杂,Sense- (Analyze) Categorize- Respond; 烦恼 - 偏复杂,proble-sense-respond,”不同地方的人们并不都是一个样的“,不同的人有不同的思维方式,以及人心和人性的复杂多变;
解题思维: 问题 - 解决问题,我们依赖工程思维,有公理定律可循,特别是因果律。 烦恼 - 解决烦恼,我们靠的是”人生智慧”;有时候,只有魔法才能打败魔法。
解题方式: 问题 - 可以找到明确的期望,找到明确的结果,缩短期望和结果之间的差距。 烦恼 - 期望不一定,而且会变化;结果也不一定,而且会变化,且受其所处环境影响较大。人心似水,波谲云诡。
解决心态: 问题 - 我那该死的解决问题的冲动和”工程思维“,一写代码就停不下来;要攻克,要解决;越有挑战越兴奋,反复尝试; 烦恼 - 唉声叹气,忧愁、焦虑、挣扎、时而还有无名之火,强颜欢笑,夜不能寐;
解决不了对自我的影响: 问题 - 解决不了的问题,会不服输、不甘心,激发精进之心; 烦恼 - 解决不了的烦恼,会觉得心力憔悴,会退缩,选择回避,会出现”整个人的都不好了“;
烦恼包裹着问题
前面的讨论,我们强行把问题和烦恼进行了分离; 但是大部分的事情其实是问题和烦恼杂糅在一起的,更多的时候,问题被烦恼包裹着。
如下图所示:

一个典型的过程可能是:
- 发生了事情,导致了问题A (问题A 和 人P直接相关)
- 因为人P的介入,导致了烦恼A(烦恼A和问题A是杂糅到一起的)
- 烦恼A包裹着问题A(提到问题A,一定裹挟着烦恼A)
本来可能对问题A跃跃欲试的解决冲动和工程思维:
- 我一定要搞定这个问题A
被包裹上烦恼A之后,可能就变成了:
- 这个人真烦(怎么又是Ta)
- Ta凭什么要XXX
- 我凭什么要XXX
- 我现在很不爽…等等
一个工程学问题(某项结果和预期的不一致),被社会学烦恼(我不爽)包裹起来了; 要解决这个工程学问题,先(最好)先解决社会学烦恼; hmm… 解决烦恼,魔法打败魔法?
魔法1 - 烦恼过滤器:
讨论到这里,我们再来看一下开篇提到的: 基努·里维斯的1+1 = 5策略,孔子的三季人等策略,就可以形象地表示为:过滤器策略。
江湖险恶,鱼龙混杂。 行走江湖,为了多活几年,我得随身携带“烦恼过滤器”。 对于一些争论,在过滤层就直接过滤掉了,因为都不配进入到烦恼层,因为不Care.

注意,我要show过滤器实现的 (伪)代码了:
While (争论.happen())
{
烦恼过滤器.start(person_a, argument_a);
}
烦恼过滤器.start(Person person_a, Argument argument_a)
{
If ( (person_a is 不重要的人()) | | (argument_a is nonSense) )
return "你说得对!"
}
软件交付的烦恼
怎么?学会了一个魔法还不够?
魔法1 - 烦恼过滤器,针对的,大抵都是不会与你的生命交集过多的人(路人、见面点头之交,朋友圈点赞之交,过年才见面的远方亲戚),无法抵抗你现在身边的人(亲密的人,项目上每天合作的小伙伴)的烦恼。
提问: 那还有什么魔法来消除烦恼呢? 作为软件工作者,整个软件交付过程中,是人与人协作的过程,中间也会有很多很多烦恼,怎么消除呢?
难你想要的是 烦恼消消乐?
软件交付过程中的
- 程序问题
- 非程序问题
烦恼消消乐?
- 程序员解决问题
- 领导者解决烦恼
下回分解!