在做了四年的软件开发,亲身经历了几个失败案例之后,我不得不对这个问题进行反思。我所接触到的朋友多半是做软件开发的,他们和我一样,经历失败的例子比成功的要多得多。从网上的各种文章、论坛得来的信息也一样充满着悲观。
为什么这么多的失败?对于这个问题,有着各种各样的答案。诸如需求不明,不断改变;项目管理混乱,时间一拖再拖;技术方案出错,技术难题解决不了;人员流动频繁;产品出来后没有市场、没有竞争力等等问题,不一而足。正是失败的原因各种各样,在产品开发的过程中要面临一个又一个的险滩与暗礁,而每一个都有可能是致命的威胁。如何面对这些危险,绕过这些险滩?以下一些是我个人的思考。把软件开发看作一个整体的流程,本文试图从产品开发的整个流程来阐述我们会遇到的种种问题已及提出一些自己的见解。
一、软件产品的立项
一个软件产品的开发和项目有着许多不同,一般来说,软件项目都是因为有了明确的客户,或者已经有了合同或意向而开始启动的。软件产品则完全不一样了。在一个产品没有开发出来之前,基本上没有客户。当然也有人仅仅凭着一套大脑中的想法或概念就能找到客户,对这些人我只有佩服。当然大多数公司只能先拿出一套自己的产品去推销,才有可能找到定单。所以就有了做产品的想法。在这些软件公司中又可以分两种情况。一种是在某个行业做了多个项目,也积累了一些行业、技术等经验。每一个新的项目都要重复很多同样的工作,效率自然不高了。这时公司很自然的想到要有自己的产品。于是开始产品的立项了。另外一种公司则完全不是这样。他们不是在某个行业做过多少项目,甚至根本没有做过一个项目,就要雄心勃勃的去做产品。这种情况每天都在发生。他们以前可能做系统集成的,可能卖硬件的,或许根本就不是IT行业的,或者恰好做了一个项目,现在他们要进军软件行业了,所以急切的要做出自己的产品去打市场。于是他们在一番调查论证后,开始了产品的立项。在这两种情况下,可以明显的看得出前一种公司的基础要好得多,成功的几率也要大多多。但这并不表明后一种就会失败。在目前阶段关键是看他有没有全面的调查论证,进入这个软件行业,做这个产品是否可行。很多产品的失败,从一开始就注定的了。公司没做过多少认真的论证就匆匆开始了。
软件行业,产品开发都有着自身的很多规律,如果公司的决策层、领导层没有经验,也没有去学习,拿着别的行业的经验去套用它,那失败也就不远了。举个简单的例子,软件开发中人力资源是最重要的。软件开发人员的薪水在各个行业中是算非常高的了,特别对于有丰富经验的人才更是与此。从传统行业过来的领导层如果不明白这点,也就找不到优秀的人才了。无论哪种公司,他们在做产品立项时都要做好以下的心里准备:? 软件产品开发投资是很大的,特别是对哪些想做大型的、优秀产品的公司。? 软件产品开发周期也是比较长的。两、三年做一个产品是很常见的。不要认为半年就可以做一个很好的产品? 软件产品是很容易失败的。既有可能产品开发不出来,也有可能没有市场。 如果一个公司没有这些心里准备,那结果就很可能失败。为什么这么说,以我的亲身经历来说吧。我曾经做过的一家公司,主要业务是做系统集成的。后来开始了一个物流软件的产品开发。在2000年左右,物流行业软件刚刚兴起,也算是一个比较好的方向。公司组建了一个开发团队,开始了长达两年的曲折的研发过程。由于在研发过程中遇到的种种问题,无法给公司领导层一个明确的结果,在研发开始初见曙光的时候,公司高层终止了这个产品。公司的高层忍受不了大量的投资和过长的时间。任何想做产品的公司都一定要有这些心里准备,要充分估计投资额和研发周期。假设公司经过了充分的