记得在网上看过一则印度软件的有趣故事,意思是先从印度6个不同城市的软件公司中选出6位软件开发人员,出一道千行程序的题目,让6位开发人员分别开发,最终拿出来的6个程序竟然完全一样;另一个测试是,将一个千行程序分成六段,让每位开发人员只开发其中指定的一段,结果6段程序合在一起就是一个完整的程序,不用做任何改动!简直太强了,佩服得五体投地,心想如果我们开发人员也是如此,那将是多么美好的事情啊!

众所周知,软件产品的魅力在于一次开发多次复制,这种复制是无声无息的,基本上不花什么成本,不象硬件那样总是要有材料与生产成本,IT企业的主要利润也是来自于不断地复制产品与销售,这是相当吸引人的地方,但比较悲哀,我们现在很多人还停留在项目化定制开发模式,项目开发的目标就是以最低成本、最短时间交付客户需求,而较少去在项目的可持续发展方面进行研究和构架,完成后的项目很难产品化。做项目的成本是相当高,如果管理不当监控不好,往往会亏本,因此软件产品化是IT企业发展的关键所在,能否产品化决定着企业的日子是否好过。

那什么是软件产品化?引用网上较好的定义:“软件产品化,即客户无需为软件添加或调整代码和语句即能完成软件的安装配置、应用初始化、系统管理、用户使用的全过程,并且软件至少能满足80%以上的用户某一组应用需求。软件产品化只是完成了产品的生产环节,后面的产品销售、市场推广和售后服务都需要逐步建立完善的体系。”个人觉得,通用软件产品可以调研后直接立项并进行产品开发、推广与销售,比如金山词霸、杀毒软件、游戏软件、学习软件等等,而行业软件产品往往是由项目做起,经过多年对行业管理理念与理论、产品技术、客户数量的积累,而逐渐抽象、提炼、整合而成的行业应用软件产品,比如BI、ERP等等。

那么我们如何才能做到软件产品化呢?我想主要遵循以下的一些原则:

(1)正确的产品定位。

基本上,我们的一生都在做很多的定位,工作定位、生活定位、品牌定位、市场定位、产品定位等等。定位是对产品在未来的潜在顾客的脑海里确定一个合理的位置。“定位的基本原则不是去创造某种新奇的或与众不同的东西,而是去操纵人们心中原本的想法,去打开联想之结。定位的真谛就是“攻心为上”,消费者的心灵才是营销的终级战场。”产品的定位决定了产品后续需求管理的策略和指导思想,决定了产品营销的策略与战略。就如同我们的人生,在不同的阶段都要给自已做一个正确的定位,才不至于缺乏奋斗与前进的动力,不至于迷失方向。

(2)明确产品的亮点,并得到客户的认可。

这一点无疑是最重要最关键的,最好的亮点就是我有你无或你有我强的创新点,我们作为个体,其实也是一个产品,我们每一个人都有自已的亮点,没有亮点的人多般平庸且碌碌无为,我们都喜欢一专多能的人才,我们往往80%的时间是在使用与发挥人才的一专,产品也一样,没有亮点的产品就如同一个没有亮点的人一样平庸平淡乏味。

(3)采用可定制、可扩展的技术架构:丰富的参数设定,功能可组装。

我们是搞技术的,这一点应该很容易理解。如果一个程序员第一次写增删改的数据库代码,可能他觉得很有意思并且学到了东西,但如果他写到第一千次的时候,我相信他会开始厌倦与烦燥,软件复用性是软件开发所应该追求的目标,也是软件产品化很关键的技术。

(4)简单易用,操作易懂。

这也是软件产品应该追求的目标,试想一个软件产品的使用与操作过于复杂,花了用户很多的学习时间,我想到最后没有人愿意使用这样的产品。如果你的软件能够让用户在很短的时间内就明白如何使用,那么你就已经成功了一大半了。

(5)二八原则。

二八原则是19世纪末20世纪初意大利经济学家帕累托提出的,这个原则很简单:

任何一组事物中,最重要的只占其中约20%,其余的80%虽然是多数,但是却是次要的。  比如,80%的财富掌握在20%的人手中,而剩下80%的人,只拥有那20%的财富。同样的,20%的恋情才决定了你的终身幸福,而80%的桃花,只是过眼云烟。再比如,人生中20%的时间,决定了80%的成就,而另外80%的时间,浪费在了20%的事情上。

呵呵,太有道理了,此原则应用到软件产品上一样地有道理,很悲哀地说,我们所千辛万苦开发出来的软件产品,实际上只有20%的功能是用户经常使用的,其他80%的功能是较少使用的。另外,我们的产品不可能满足所有人的需求,我们只需关注最广大的80%的用户,因为另外20%的需求很可能会使另外的80%的人产生困扰。

估计还有很多很多的原则,暂时还没有学习到或领悟到的,但无论如何,软件产品化应该是软件企业认真思索与谨慎执行的事情,它所带来的好处不言而喻,而且它也是行业发展的趋势,产品化是一个很诱惑的词汇,现在也开始盛行服务产品化了,我想自已需要不断地学习与成长,以至于可以跟上技术的进步与行业的发展