# 你知道“海尔迈耶问题” 吗?
海尔迈耶问题是液晶显示器之父乔治·海尔迈耶(George Heilmeier,1936-2014)提出的一组他认为任何研究项目都必须要回答的问题。在美国国防部任职期间,海尔迈耶需要评估大量的科研项目,决定巨额研究资金如何分配。当时,很多项目仅仅因为申报人与国防部有良好的信任关系,就可轻松拿到几百万美元,而不用对资金的用途做出详细解释。海尔迈耶觉得这种做法不对,逐渐发展出了自己的一套方法,要求项目申报人回答九个问题,由此评估该项目是否值得资助。这九个问题被称为“海尔迈耶问题”(Heilmeier Catechism),影响很大,被后来的许多机构采用,其中包括风险投资家和城市规划局 。
这九个问题分别是:
(1)你想做什么?用通俗的语言清楚地阐明出你的目标。
(2)已有的相关研究是怎样的?研究的局限是什么?
(3)你的方法有什么新意吗?为什么你认为你的方法会成功?
(4)谁会关心你的研究?
(5)如果你成功了,你的工作会带来什么改变吗?
(6)你的这项工作风险和报酬是什么?
(7)它会花费多少成本?
(8)它会花费多少时间?
(9)有没有中期检查和结题检查能检验它是否成功?
我觉得这个海尔迈耶问题,用在程序员个人成长上也有异曲同工之妙。现在的技术方向和技术栈越来越多,即使选定了方向或技术栈,有时也会有很多茫然和困惑。假如你想要学习一门新技术或在你的项目中引入一项技术,可以试试套用 “海尔迈耶系列问题” 来自省一番。
- 你学习这项技术的目标是什么,要用它去解决什么问题?
- 这个技术现在有哪些企业在用?用在了什么场景上?
- 这个技术的构成及实现逻辑是什么?有什么局限吗?
- 这个技术有什么创新?为什么它能够取得成功?
- 如果我们应用这个技术到项目中,会带来怎样的变化?
- 采用这个技术的成本(时间、金钱)、风险和收益比如何?
- 采用了这个技术后,要如何去评估它的效果?
程序员有时粗浅地学习并了解了一点新技术,就想着如何应用到真实的项目中。这个时候可以用上面的问题来问问自己,如果有回答不上来的,说明你对这项技术掌握并不充分,那就还不足以应用到实际项目里。
最后,亚马逊技术探讨时,采用的 6 页备忘录主题,我觉得同样有“海尔迈耶问题”的思考。
What we do?(背景)
Why we do it? or What's the problem (解决什么问题)?
How we do it ?(我们怎样做)
Validation (如何验证)?
Discussion/Analysis (讨论、分析)?
Summary(总结)
参考资料: