有同事说,为什么HW的软件做这么好?因为任正非是学建筑的。先不讨论这是不是真的有这个原因。单纯的从建筑/土木工程和软件来对比一下。
建筑/土木工程:没有任何容错的余地,必须先计算、仿真,做到万无一失,再去实施,设计阶段比实施阶段花的时间要长、设计阶段的工程师水平也往往是业内顶级的工程师,是建筑/土木行业金字塔尖上的那部分人。实施过程中还要有监控公司专门做质量控制。并且需要符合各种标准。建筑/土木工程的理论性、系统性非常强。从一开始就把系统设计得完美、完全,容不得任何差池。《致青春》中男主角说了一句话:“我的人生是一栋只能建造一次的楼房,我必须让它精确无比,不能有一厘米的差池“就说明了做建筑和的特点:1. 系统性--必须先设计好整个系统;2. 精确性--在建设之前做好所有的容错;3. 容错--建好之后不允许容错,不能有一厘米的差池。
所以,一栋摩天大楼建造好之后,就必须是完美的。软件不同。
做软件,尤其是在中国做软件,往往时效性非常强,可能三个月不上市,风口就过去了。所以没有时间按照建造一栋摩天大楼的流程来设计、实现一套软件。没有时间做完美的设计,没有时间走完美的流程。怎么办呢?把系统性、工程化、容错的工作放到实施之后...只能这么做。即使微软、VMware这种公司,已经做的足够坚固的“基础设施”软件,同样会在发布之后留足容错的手段。
也就是说,软件,尤其是发放给客户的2B类的软件,在设计之初就应该先想好:怎么维护?!
首先,软件如何升级?
(1)