实际与计划二分法

我曾经在大型餐厅网络的IT部门工作。 他们有一个秘密的酱汁,这不是你可以吃的。

在餐厅厨房中,当客户在菜单上点菜时,您必须将其烹饪。 您在食谱中列出了成分及其数量,然后按照说明准备菜。 从理论上讲,如果食谱中说您需要四分之一的柠檬,那么您应该可以用一个柠檬煮4道菜。 不幸的是,当您分析一天中成分的实际消耗量时,您会意识到实际上实际上是用6个柠檬制作了20道菜。 那是柠檬的3.3道菜! 生活不如理论好,在现实生活中您会浪费。 四分之一的柠檬掉在地板上,您不能使用它。 柠檬太小,因此您必须使用“大四分之一”,一个柠檬只有三个大四分之一。 最后使用的柠檬不能完全使用,因为实际订购的菜数不是4的倍数。

20141125-002327

我工作过的餐厅网络非常擅长分析会计。 这是他们的秘密调味料。 他们实际上在监视柠檬的使用等。 这是他们获利的关键,因为像餐馆这样的企业利润率很窄。 对于他们来说,重要的是要更好地了解食谱和菜肴的实际烹饪之间的差距。

碰巧,对于所有领域的许多企业而言,跟踪计划的(食谱)与实际的食谱(烹饪)之间的差距非常重要。

20141125-002411

在制造中,您拥有制造产品所必需的物料清单BOM。 BOM表指出,您需要12颗螺钉才能关闭外壳。 但是在实践中,您可能会丢失一颗螺钉,最终消耗13颗螺钉,而不是12颗。如果跟踪报告显示这种情况经常发生,并且螺钉足够昂贵,那么一些工程师将希望在生产线上进行改进以防止这种情况。 您可以使螺丝起子自动化或使其具有磁性。

在硬件电子制造中,您要制造可生产数千个芯片的硅华夫饼。 这是理论,在质量控制之前,您会发现其中有许多功能失调。 这种制造成本很高,因此您需要对其进行监控。

到目前为止,关键是成熟的企业有很多竞争对手,而且它们通常会在交付过程的持续优化上竞争。 您需要为此进行跟踪。 这是一个经常发生的业务问题,您需要用于此的软件。

那么,在这种情况下,我们如何设计此类软件?

答案是,您很可能具有两个截然不同的绑定上下文:一个用于描述计划,另一个用于跟踪实际计划与计划之间的差距。 即使这两个上下文似乎经常处理相同的现实概念,它们实际上也没有理由看起来相似。

一种上下文方法

首先,《书中的食谱》和《我实际做过的食谱》看起来是一样的。 这就是为什么一种常见的方法是将两个模型混合在一起。 我认为这是一个可怜的技巧。

例如,项目管理工具专注于理论计划,然后添加了额外的字段来直接跟踪实际花费在计划元素上的时间。 只要它很简单,它就可以工作。 我们向复杂性迈进的越多,将两个模型保持一致就越没有意义。 带有待办事项列表,«完成! »可能就足够了,但是随着跟踪变得更加复杂,它将增长自己的跟踪语言。

不同的意图

对食谱进行建模和对实际菜肴的追踪看起来很相似,但是它们的意图完全不同。 该食谱旨在告诉您如何准备菜肴,包括有关如何搅拌或切菜的说明。 跟踪的重点是浪费或错误,或者改进了采购流程或供应链管理。 这是呼吁采取不同观点的强烈理由。

其他差异

为了进行跟踪,您可能无法观察所有详细信息。 食谱谈论的是柠檬的四分之一,但市场上没有柠檬的四分之一。 您只能衡量一天中购买的柠檬的数量以及剩余柠檬的数量。

在烹饪,制造过程或项目期间实际发生的情况可能与计划完全不同。 也许再也没有柠檬了,所以厨师不得不用一些柠檬汁代替,而这种柠檬汁甚至在食谱中都没有。 一个好的跟踪模型应适应对此类事件的跟踪。

类似地,出于转向的目的,通常需要足够大的粒度级别。 您可以忽略流程中的细节。 每周或每月剩余成分的库存也许就足够了。 逐碟跟踪配料的实际消耗量将浪费时间!

造型

对计划,物料清单,制造步骤等进行建模并不是实际与计划差距跟踪关系中具有挑战性的部分。

通常,跟踪上下文需要其自己的独特模型,该模型与计划模型完全不同。 例如,对于跟踪货物的运输,您可能会跟踪各个港口的装卸事件。 跟踪模型将是事件日志。 为了跟踪物料消耗,跟踪模型将是当前库存的带时间戳的快照。

20141125-002349

跟踪模型可以链接到计划。 这种情况有点像知识级别模式(Fowler):计划是知识级别,而对实际生产的跟踪将是操作级别。 在这里,知识级别定义了理想情况,但是操作级别的实际行为会经常偏离理想情况,因为这种差异确实是我们要跟踪的。

20141125-002403

跟踪也可以存在于其自己的气泡中,与计划没有链接。 在这种情况下,将使用单独的对帐机制进行比较以突出显示差距。

开发人员示例

像往常一样,作为开发人员,我们已经熟悉了这种实际与计划的二分法:这就是所谓的测试。

测试定义了计划,即预期值或模拟的预期行为。 测试还会观察代码的实际结果,并在测试结果报告中跟踪代码之间的所有差距。 显然,计划的模型和跟踪实际结果的模型是不同的,并且使用完全不同的语言。

在这一领域,模拟测试还使用后验和解机制来跟踪差异。

另一个例子就是软件项目计划和跟踪。 对于软件项目,我们非常了解强制计划与执行之间的匹配是一个非常愚蠢的想法。

结论

刻板印象关系中的关键是要充分了解两个截然不同的上下文。 除非这是一个有意识和有意识的决定,否则请避免将两种情况混合使用。 通常认识到这两种情况会得出结论,即需要不同的模型,这将使​​一切变得更简单。

翻译自: https://www.javacodegeeks.com/2014/11/the-actual-vs-plan-dichotomy.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值