专栏首页ICSOC.TECH读书笔记 | Design Rot - 2

读书笔记 | Design Rot - 2

书接上回。

读书笔记 | Design Rot -1

管理的事情不太懂就不多说了,还是接着聊Design

设计边界

设计边界这个概念,应该是被广泛认知和接受的,毕竟大家都是从module designer开始的。一个设计模块是有边界的,简单来说,一个模块的输入和输出应该都是预先被定义好的。

不出意外的话,大家在做模块设计的时候,也应该都碰到过模块的Spec不得不进行改动的情况。改动在项目早期是难以避免的,在项目中期的时候出现也还好。如果在项目快收尾的时候,让你的模块增加个不大不小的feature,那一定是痛苦不堪的,加班加点不说,而且很多时候这个feature 都可能变成一个潜在的bug

当然,一个设计可以是弹性十足的,扩展性很强,随便集成一个即便是八竿子打不着的feature 都很容易;也可能是逻辑耦合非常紧密的,在这种精简巧妙的设计风格下,别说增加feature 了,就是减少一个feature 都比登天还难。

在设计边界稳定的情况下,一个模块的设计质量是可以预期的。因为边界稳定,对于设计来说就有了一把可衡量的尺子。设计的输入、输出确定了,内部即使再复杂,毕竟也是一个有限的空间。假以时日,这个设计空间就会在设计者的大脑里构建出来,反复推敲,百般琢磨,日臻完善。

如果设计边界不稳定呢?举一个不太恰当的例子,本来是准备盖个平房,快盖好了,又想再加一层改成个楼房。

PM:客户需要的是楼房,不是平房。 RD:平房改楼房不简单啊,先来两个星期评估一下。 PM:不就是加一层嘛,把原先的平房copy-paste一份,摞起来不就成了吗? RD:时间不多了,摞起来看看!没楼梯!怎么办? PM:工程快收尾了!没时间在一层屋顶掏洞做楼梯了。 RD:干脆,二层窗户外面竖个梯子吧。打完收工。 (大风一来,梯子被刮跑了。困在二楼的PM于风中凌乱。)

稳定边界 - Architect

怎么才能稳定设计边界呢?首先必须要依靠清晰合理的芯片架构了,如果有芯片架构师的话。为什么说如果呢?

因为在大量的中小型芯片设计公司里,很少有专职的芯片架构职位,大部分都是芯片的Design Leader 兼任。

他不但要面对产品、市场部门的进度压力,同时还要对设计团队内部的任务分配和开发进度进行平衡和跟踪。这种类型的任务可以归类为粗粒度的事务型任务,它需要的是高瞻远瞩、八面玲珑、水磨拉锯。

具体到芯片设计的任务,无论是架构设计,还是模块分解,都可以归类为细粒度的逻辑型任务,它需要的是缜密严谨、耐心理性、灵光乍现。

作者无法期望在某次热火朝天的会议中就能讨论出一个复杂设计问题的最优解;同样无法想象,面对一千页的文档枯坐几天就可以做出整个设计团队的进度安排。

ArchitectLeader这两个角色之间,应该有一个清晰的边界。

尊重边界 - 信息对称

在小型芯片的开发和维护中,往往有一两个STAR Engineer,从需求、架构、设计,到验证、流程、维护、客服。。。一肩承担。在某个阶段、某种程度上,这当然是合理的,高效且低廉

随着芯片规模的增长,不可避免的要引入更多的人员,形成相应规模的设计团队。原先的STAR模式在往新的团队模式的切换过程中,就会存在一个信息流的过滤问题,无论是惯性的、被动的,甚至有时候是主动进行的信息阻断。

作为模块的设计者,天然需要从需求到产品、客户反馈等各个阶段的信息。充分利用这些信息,才能完成和完善设计。设计边界需要扩展到从立项到客户反馈的多个维度,保证信息流在这些维度上都畅通无阻,在设计的生产者和众多消费者之间都达成信息的对称和平衡。

ArchitectLeader这两个角色,至少在一个目标上是统一的,那就是尽量减少设计边界内外的信息不对称。

(待续)

本文分享自微信公众号 - icsoc(ic-soc),作者:韩京飞

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 芯片设计的职业病

    前些天看到一篇文章,讲低容错率的职业对一个人性格的影响。文中拿常见的路怒症举例,把从事低容错率工作的人形容为经常在拥堵路段中开车的驾驶员,长期下来,容易形成敏感...

    icsoc
  • 当我们做后仿时我们究竟在仿些什么(四)

    就像人类容易接受自然数,但对于负数缺乏某种直觉上的认识一样;后仿过程中经常出现的 Negative Delay 和 Negative Timing Check ...

    icsoc
  • 当我们做后仿时我们究竟在仿些什么(补充)

    自从上次关于后仿的文章发布以后,又陆续收集到了一些关于后仿的其它小技巧。这次整理出来作为前文的补充,希望对大家有所帮助。文中提到的仿真器默认是VCS.

    icsoc
  • 论文解读——A Computationally Efficient Path-Following Control……

    《A Computationally Efficient Path-Following Control Strategy of Autonomous Elect...

    路径跟踪快讯
  • Docker 网络 host、bridge、macvlan 工作原理

    Docker 作为容器的主流平台,不仅仅提供了虚拟化隔离,同时也配备的网络隔离技术,并使用不同的网络驱动满足不同的场景,这篇文章对 Docker 的3种网络实现...

    我的小碗汤
  • 性侵犯如此猖獗,AI能提前将他们甄别吗?

    从两位知名人士“亿友公益”创始人雷闯和“源头爱好者环境研究所”创始人冯永锋到被蒋方舟、易小荷站出来指认的章文,再到朱军。

    用户2908108
  • 多元回归分析存在多重共线性了怎么办?

    即两个自变量之间的关系是一条直线, 称之为共线性,当三个或以上自变量之间存在共线性时,称之为多重共线性,数据公式表示如下

    生信修炼手册
  • 美国大选倒计时:R 语言和蒙特卡洛算法预测希拉里赢面高达89%

    【新智元导读】美国总统大选近在眼前,上周新智元刊登相关文章《从未失手的 AI 预测:川普将赢得选举,入主白宫》引起很多争论。这次我们选择了一篇用 R 语言和蒙特...

    新智元
  • 读书笔记-红黑树

    温安适
  • 设计原则

    好的代码永远是需要设计的。一名高级程序员,更应该有设计师的潜质,不只是关注怎么用代码实现业务,更关注的是代码的设计。而在设计之初,应当说服自己去接受不合理的代码...

    一粒小麦

扫码关注云+社区

领取腾讯云代金券