最近看了吴军老师的一篇文章,说的是美国的轰炸机和前苏联的战斗机。作为军事盲的我,以往是直接跳过不看的。而这篇文章,读来却饶有兴趣,虽然我还是没看懂那些飞机性能的术语,但是文章通过飞机的制造阐述的关于产品设计的观点,看了后觉得是非常有启发的。
文章说的是20世纪50年代至60年代中期,美国为了对前苏联保持核威慑,花重金制造了一种轰炸机XB-70。
这种轰炸机的强悍程度可以说前无古人,后无来者,至今都是最高性能的飞机。它的设计非常先进,是“骑”在自己产生的冲击波上,产生向上推力;它的最高速度是今天民用客机的近4倍,飞机高度是今天民用客机的2倍。
但是,后来美国却没有继续生产这个型号的飞机,主要原因是,前苏联设计制造出拦截它的飞机了,因此它没有了存在的意义。
前苏联制造的这架战斗机叫米格-25。
前苏联当时的材料工业和电子工业水平都大大落后于美国,因此在设计这架飞机时遇到了巨大的障碍。
美国采用了既轻又耐高温的材料钛合金制造了XB-70,而前苏联并没有能力制造这种材料,但要保证高速飞行,必须要用熔点很高的材料。前苏联设计师采用了耐高温的钢为材料,但是代价是重量太重,那样重量的飞机根本飞不起来。似乎是僵局的状况下,前苏联设计师先是将钢板做薄,又带来强度问题,装上支架解决强度问题后,又进一步增加了飞机的重量,为解决重量问题,又安装了两台巨大的发动机,才勉强达到了速度和高度上的设计要求。
但是就是这么一个看上去并不高大上的飞机,却实际上完全实现了它设计的最初目的--能够拦截美国的XB-70轰炸机。
这个例子让我想到了我们公司内部使用的两个软件产品。一个是请了外部专业软件公司花了一年时间开发的公司业务信息系统。推出时就功能模块齐全,几乎涵盖所有业务,逻辑复杂,各步业务操作非常齐全。然而,在公司内部推广时,虽然劳师动众,却招来的几乎全是差评。
另一个软件,是一个内部开发工程师开发了一个月就推出的小系统,实现业务功能非常简单,在之后根据需要不断迭代开发,不断完善功能,受到好评不断,在去年年底还评上了公司创新奖。
从上面两个例子,我们能找出一个共同点:
资源不足的产品战胜了资源优越的产品。
为什么呢?
一、目的明确
前苏联的米格-25的设计目的就是为了拦截美国的XB-70,设计师为了这个目标不屈不挠。而我们公司的小系统设计目的最初就是为了解决当时的业务流程的一个痛点。痛点解决了,自然就有价值了。而公司的大业务信息系统是集团公司强制推广,并不是基于业务实际需求开发的,实现的业务目标并不那么明确。
二、迭代开发
资源包括人力,财力和时间三原素。而米格-25在财力和时间明显不足的情况下,无法坐等,只能动手做,在做的过程中不断发现问题,解决问题,最终实现了目标。
我们公司的小系统也是如此,最开始实现的只是最简单的一个功能,后来用的时候发现还需增加些控制,增加些功能,慢慢一点点添砖加瓦,目前还在不断完善中,但是它对业务的响应速度可以很快,可以迅速地实现业务的目标。
而公司的大业务信息系统则是最开始就做好了各种可用可不用的大量模块,用的时候发现各种不顺,但是系统的内部结构已经错综复杂,改一发而动全身,有时修改起来非常缓慢。另外,还有很多步骤是业务根本不想要的,很多功能至今业务都没有用。
所以,如果遇到“先天不足”的情况,不要急着抱怨,也不要失去信心,先明确目标,用心考虑现有的资源可以做到什么,从完成一个小目标开始,围绕着目标去解决问题,可能就能慢慢达到大目标。