记得在网上看过一则印度软件的有趣故事,意思是先从印度6个不同城市的软件公司中选出6位软件开发人员,出一道千行程序的题目,让6位开发人员分别开发,最终拿出来的6个程序竟然完全一样;另一个测试是,将一个千行程序分成六段,让每位开发人员只开发其中指定的一段,结果6段程序合在一起就是一个完整的程序,不用做任何改动!简单太强了,阿蒙佩服得五体投地,心想如果我的开发人员也是如此,那将是多么美好的事情啊!
无论如何,这个故事至少说明印度的软件人才相当地统一化、标准化与规范化,难怪别人会成为世界软件工厂,而看看我们国内,大部分软件公司的产品/项目开发还是主要依赖于开发牛人或软件高手,始终较难摆脱作坊式的开发模式,我想,如果我们也来搞类似的测试,结果一定是乱七八糟五花八门的,印度的长处正好是我们的短处。
之所以引出这么个故事,一是无奈地自我讽刺一下,二是勉励自已乃至国内IT人当自强,努力奋斗,早日实现软件产品化,真正做到赶印超美,呵呵,总觉得好怪,为什么我们一直在追赶?当年中国经济要赶英超美,现在中国软件要赶印超美,中国足球要赶日超韩,上帝啊,求求你,让别人来追我们赶我们一次吧!
本文想说的是软件产品化。众所周知,软件产品的魅力在于一次开发多次复制,这种复制是无声无息的,基本上不花什么成本,不象硬件那样总是要有材料与生产成本,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%的人产生困扰。
估计还有很多很多的原则,是阿蒙暂时还没有学习到或领悟到的,但无论如何,软件产品化应该是软件企业认真思索与谨慎执行的事情,它所带来的好处不言而喻,而且它也是行业发展的趋势,产品化是一个很诱惑的词汇,现在也开始盛行服务产品化了,我想自已需要不断地学习与成长,以至于可以跟上技术的进步与行业的发展!