仓库源文

.. Kenneth Lee 版权所有 2018-2020

:Authors: Kenneth Lee :Version: 1.0

工程逻辑链


逻辑链这个模型挺好用的,我们就着这个概念模型继续讨论一下设计的策略问题,同时也 是扩展一下逻辑链概念的外延,引入“工程逻辑链”这个概念。

逻辑链是推理一个复杂问题的基本方法。数学证明题的证明过程就是个典型的逻辑链。我 把那种逻辑链称为“简单理论逻辑链”,以区别于我们设计中常用的逻辑链,我们设计中常 用的逻辑链,我称为“工程逻辑链”。两者的区别在于,“简单理论逻辑链”所使用的逻辑事 实,大部分时候我们认为是已知,或者说是工程成本很低的。建立逻辑链的过程成本仅仅 在逻辑链本身的组合上。下面的例子是一个简单理论逻辑链:

    .. figure:: _static/逻辑链2.png

这里面的逻辑事实都是已经被普遍认知的,工作的成本仅仅在逻辑链本身的组织上。下面 是一个工程逻辑链:

    .. figure:: _static/逻辑链3.png

客户是不是一般使用ledmon来控制磁盘的状态灯?这可不一定,如果我们把这个看作是一 个简单理论逻辑链,我们应该去做一个问卷调查,得到当前市场的用户磁盘控制方法的分 布,然后才做这个结论。使用SFF-8485和SES-2两个协议搞定得了Linux,能不能搞定 Windows?这也应该去做个调查。但问题是,完成这两个调查,成本可能比做完整个产品的 成本还高。我们的目的是让这个产品做成功,可不是为了逻辑链漂亮。这就变成一种两难 了。

从这个例子就可以看出,为什么“做事”的人特别强调“知不知上”了。有些东西,成本上不 值得,你就要把这个本身作为一种“条件”,比如:“我不知道客户中有多少人使用ledmon, 但我知道我们已经出货的产品中,使用ledmon作为方案是‘能把产品卖出去的’”。这一个“ 事实”本身,就可以成为逻辑链的一部分了。

所以“不知”,也是可以成为逻辑链的“逻辑事实”的!我举一个更极端的例子,比如明天的 彩票头奖号码是多少?“我不知道”,所以结论是“我不去买彩票”。清楚知道“我不知道”是 很重要的逻辑链的输入。我的结论是“不去用‘易经分析法’调查它10年,最终得到‘明天应 该买xxx号彩票’”。尼玛我要知道明天应该买几号彩票这个结论,我明天听听收音机就可以 了,不用靠易经研究10年。只是这工程上没有意义而已。如果非要不计成本,联合彩票中 心的领导造假可能可行性还高些。

简单理论逻辑链本质上是工程逻辑链的一种“忽略逻辑事实获取工程成本”的简单情况,就 算你穷尽一生,写一本书来证明某个数学猜想,这个工程成本都在一定程度上是可以忽略 的。但我们平时的设计,动不动就是一个上百人的团队,数千万的预算(顺口说一句,如 果是上百人的团队,数千万的预算顶不住一年),出了岔子,不用投资者来找你,团队成 员的家人都可能来找你拼命。这时,这个逻辑链就不像你在简单理论逻辑链里面那么自如 了。

所以,那些所谓无为不争,不敢为主而为客,食母,知不知上,绝学无忧的策略,才显得 这么重要。辛辛苦苦,穷尽脑筋,都是为了降成本,在预算范围内把事情搞定。不考虑这 个问题,在某个逻辑链上夸夸其谈的,那都是“学”,“学”再漂亮,济得了什么事?

说这么多,我想给设计师提醒的是:当我,或者说有人,质疑你的逻辑链中某个逻辑事实 的时候,不要下意识地想去找更多的逻辑事实来“证明”你的那个逻辑事实结点。逻辑链不 是这样用的。你这样建完的逻辑链就想固定住,然后只剩下对每个节点的补充。逻辑链本 身的权衡作用就完全没有了。

我们建逻辑链就是为了平衡整个投资成本,当你的设计逻辑链被质疑,你应该平衡“知”和“ 不知”的关系,重新调整逻辑链。而不是说“不好意思,总工,我回去再好好干”,好你个头 啊,我的逻辑链里面一直在考虑的是“这个家伙靠不靠谱啊,有没有人把他换掉啊”呢,你 净想着“我态度好不好?我有没有错?”,你有没有错关我毛事,我只关心“我有没有错”! 而我最大的错,是这个工程没有成功,那我就对不起你们所有的人了。