峥嵘岁月

joshua_yu的网络空间

俞峥ID:joshua_yu
102989次访问,排名850好友6人,关注者14
人生总有些阶段,新的起点,新的心情,没有好也没有坏,生活总是辩证而真实地存在,感谢所有人!
joshua_yu的文章
原创 44 篇
翻译 2 篇
转载 42 篇
评论 29 篇
joshua的公告
联系方式: QQ:404271575 MSN:joshua_yu@263.net
最近评论
wBlf_www:请问我在过滤函数中截获所有收发数据包,会否有漏包的现象,我发现通过web发邮件,截获的数据不能恢复出邮件发出的状态(邮件包括内容和多个附件)。
wBlf_www:请问我在过滤函数中截获所有收发数据包,会否有漏包的现象,我发现通过web发邮件,截获的数据不能恢复出邮件发出的状态(邮件包括内容和多个附件)。
ohyeath:在你的工程文件里面设置一下就可以了,project->setting->c/c++->preprosessor->addtional include headers 添加你的sdk路径,
ohyeath:在你的工程文件里面设置一下就可以了,project->setting->c/c++->preprosessor->addtional include headers 添加你的sdk路径,
ohyeath:在你的工程文件里面设置一下就可以了,project->setting->c/c++->preprosessor->addtional include headers 添加你的sdk路径,
文章分类
收藏
    相册
    08年第一期儿子照片
    过年
    交大新面貌
    我的可爱儿子
    周末烧烤之众生相
    关注的Blog
    EVA的回收站
    joyfire的space
    Kendiv的专栏
    PJF的Blog
    WebCrazy的Blog
    孟言的blog
    野路子(http://wulujia.com)
    铁卷大成天下
    网络收藏夹
    China CISSP论坛(文档保护)
    China Uniix
    developerWorks Linux 专栏
    docshow
    linux伊甸园
    OSR在线论坛
    PKI论坛
    reactos
    rootkit论坛
    Sysinternals论坛
    中国Linux公社
    中国Linux论坛
    协议分析网论坛
    安全焦点
    看雪技术学院论坛
    驱动开发网
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    转载 走出软件作坊:三五个人十来条枪 如何成为开发正规军(三)收藏

    新一篇: 走出软件作坊:三五个人十来条枪 如何成为开发正规军(四) | 旧一篇: 走出软件作坊:三五个人十来条枪 如何成为开发正规军(二)

     

    一、            我要飞的更高

    又到了半年,公司这几天要开半年会。

    老板让我做一下总结报告,对上半年的研发成果、下半年的研发计划、明年要做什么新产品的规划,希望我都能谈到。

    对上半年做了哪些工作,这些都有工作记录,也有项目管理系统,也有Bug管理系统,也有版本升级发布,所以很容易总结出来。

    下半年做什么,有需求管理系统,客户的需求都排着。共性的、希望做的更专业更深入的模块也在详细设计之中。对于扩展支持更多的客户组织模式、远程管理模式、更低层次和更高层次的客户,分离更清晰的高级版、标准版、简化版也已经有规划。并且根据定位不同,已经规划了不同的产品形象策略、宣传策略、销售策略、定价策略、实施策略、服务策略。

    对现有产品线进行深化、扩展,这都是没有问题的。但明年要做什么新产品,是最难的。

    因为新产品的研发,有很多影响因素。

    我们在行业信息化深耕了多年,已经有一定的知名度。因此,我们有时候想接到某一个项目,但该项目的客户负责人(都是老关系熟人了)就笑着跟我们说:你们又不是做硬件的,啥钱都想赚啊。

    但是,我们确实想赚取更多的钱,扩展更多的可销售的产品和服务项目,而不仅仅就把我们定位在软件开发和IT服务、IT咨询。因为行业内的客户数是一定的、大中小的客户数量是很明确的,行业内的竞争对手都按照自己的实力大小,已经占领了属于自己开拓的那层客户,并且在产品层次、销售模式、实施模式、服务模式都做了匹配。我们当然想扩展我们的客户层次,逐步上中下客户都通吃,并且在产品线上,各种IT产品和IT服务都涉及。只有这样,才能保证我们每年都能业绩提升。否则今年是这个销售额,明年还是这样的销售额,没个发展老原地踏步,这样干公司就没劲了。

    所以,这个已经定了型的公司形象就容易阻碍公司新业务开展。公司没有鲜明形象吧,客户不清楚你到底是个干嘛的公司,到底能干嘛,到底什么做的专业。真正通过多年做产品做客户,让客户有了定位,反而客户认为你就是干这个擅长,其他你就不行。就如同百度要进军电子商务,业界很多人都说百度不可能成功,因为他是做搜索引擎的,它又不了解电子商务。

    我不同意这种观点。很多人的思维是守阵地型,觉得自己有多大能量就考虑多大的事。但是做企业,守阵地是守不住的,你不攻打别人,别人就要主动来吃掉你的份额。我一贯的思维都是,先放大眼光,放眼整个IT行业,整个客户行业,甚至是和客户行业相关联的上下游行业。能不能做到还没论证呢就否认说不能,这种人无法引领公司产品成长。先研究,说不定还能做到。一旦成功,就可以获利颇丰。当然,我也会考虑风险,不会让公司要么赔死要么赚死,我是职业经理人,我要保持平衡发展。老板可以大刀阔斧进行革命,但我只能曲线救国。

    公司现有产品体系,公司现在的客户群,都是需要照顾的地方。新的发展,不能与过去完全隔离,否则就容易把过去积累的优势都浪费掉。当然,有句话说:最大的优点就是最大的缺点。优势就成了前进所无法抛弃的包袱。

    公司现在的人的技术素质是否能达到,如果想做的事情确实挺好,公司愿不愿去提供更高的薪水来招聘人。是自己独立研究开发,还是通过合作先代理别人的产品进行销售维护在别人的基础上进行扩展,还是请外脑顾问进行指导。合作者是否理解深刻意图,能否在利益上达成一致,未来分道扬镳的时候是否能好聚好散,都有很多沟坎,都需要拿捏到位。

    公司现在的资金如何,公司现在的业务销售是否具有可持续性。这也是需要考虑的事情。一项新产品的研发,是需要花费很多时间来跟踪收集研究,做尝试,做推广,逐渐在客户群众树立影响力逐渐扎根逐渐认可,是相当长的时间。在新产品还无法代替现有产品的盈利地位之前,必须能保证现有产品销售稳定性。否则大家都要喝西北风了。

    竞争对手现状如何?它的产品、它的研发、它的销售。不能造成自己在这里抽调资源研发,竞争对手在那里攻击,还没出来,就先死掉了。我常常想到一个玩《红色警戒》游戏的场景:你的电力系统被敌人偷袭,你赶快造一个新电厂,还没有成型,就被敌人摧毁。

    在研发当中,更要验证对未来综合竞争力的提升。不能是单独的产品,而无法成为一条产品线或产品体系,就不容易利用现有的销售、客户、实施网络进行落地。必须与现有产品形成互补。就好像我们下跳棋:既要给自己留下路,而且同时这颗棋子还能成为对手的绊脚石。如果我们既不是行业中的第一或第二,还要防止行业领头羊打击新兴模式,在你还没有成气候的时候就灭掉你这个新模式,让你失去新产品发展的土壤和环境。

    这都是很宏观的一些环境考虑。决定我们的方向。

    很多网友可能觉得不需要考虑这些,屁股决定脑袋,这是老板的事情。很多所谓的技术总监其实在老板眼中就是个带项目的头。也有的技术总监,老板认为他是技术总监,但他自己却把自己定位成一个项目经理。

    但我们处于行业管理软件这个领域。这个领域,客户数量是一定的,客户行业发展也就那么快。你必须追随客户行业的发展。如果客户行业好多年都没有变革,机遇与挑战变动不是太大,整个行业环境趋于稳定,那么信息化也就是夯实。你想引领先进模式,客户还不走,你也就走不动。

    行业管理软件领域,不如现在火热的互联网行业、网游行业。QQ、百度、盛大、征途、阿里巴巴、51.com争奇斗艳,风投不断,成长迅速,日夜吸金,快速上市。几乎5年,就能把一个创业公司膨胀到一个上市公司。而行业管理软件领域,往往随着客户行业发展而发展,销售额一直不高不低,撑不死饿不死。所以我们也一直在寻找和互联网、虚拟产品、网上营销相结合。我们也在跟踪现在火热的技术,如SAASOpen APISOABPELDSL。我们也在跟踪行业内先进的管理专家发表的观点和思想。只有盈利模式+先进技术+先进管理,才可能成就新一代的产品。所以,我一直在这三个方面进行跟踪研究交流。

    我们更要考虑的是我们传统模式和流行模式结合在一起的新产品新模式,到底面对什么样的客户,市场容量多大,可能会有什么样的竞争对手进入,我们会有什么危险,我们如何应对,会吃掉多少市场容量,未来我们最大可能占多大容量,这样的容量值不值得我们做。我们做需要多少资金投入,需要多少钱来推广,需要多少时间达到我们的盈利点,在达到我们盈利点之前我们如何防御性发展。

    摸清了我们自己的优势、困境、竞争地位、未来目标、未来业界位置,摸清了行业业界现状、未来影响,摸清了竞争对手,摸清了现在流行的盈利模式,摸清了未来更加敏捷的技术,我们才能给我们的产品定一个位置。新产品必须与公司的实力和战略相结合。老板的想法你不了解,你自己一个人瞎琢磨新产品的研发,很可能想法很好也未来很可能成功,但不符合老板的观点,没走出第一步就壮士未捷身先死了。

    知道了做什么,能不能做,做完有多大好处,这个饼画完,并且画的能把老板和销售总监说动心了,就要落实怎么做了。

    我仍然采取的是标杆法。

    我承认自己是个保守的创新派,所以只能做职业经理人。开创性的,在我的位置,我的角色,也决定我不能做开创新的事情。这是个鸡生蛋蛋生鸡的问题。是由于做职业经理人而不能有开创的自由度和支持度,还是由于自己做了多年职业经理人而无法有开创性的胆略和思考眼光?

    我想起张树新在瀛海威艰难的时候的一段话:天上下着雪,雪很厚,前面什么也看不见,很黑,我们开着车摸索前行,不知道路走的对不对。

    我想这种创新的模式和产品我是不可能做的。所以我要做的其实就是金庸+古龙,形成温瑞安这样的模式。这就是创新。

    我先剖析行业标杆老大的产品。所以,我常常跟踪分析SAP、用友、金蝶这些标杆企业的产品,学习他们的架构、产品气质、实施模式、咨询模式、服务模式、销售模式、市场模式。

    虽然他们都是做通用企业管理软件的,但是每个细分的行业管理软件领域发展有快慢不同。所以借鉴他们,就能在自己这个所定位的行业领域取得先机。有句话:我不期望比刘翔跑的快,但我只要比你跑的快就OK

    只比客户前进半步。这是做产品的很重要的指导原则。你可以想的远,很好的前景和盈利模式使你心情荡漾,但真正做起事一定要只比客户前进半步。你可以想的功能策划的功能很多,但一开始推出第一版的时候,一定要突出特色功能,而不要把你的想法全盘托出。一个新出现的东西,本来大家就抱着试探怀疑检测的态度,一打开产品密密麻麻的功能,客户就会感觉深陷森林之中,到处走都走不出去,就很压抑了。而且这样复杂的深入的开发,周期长成本高控制管理难度高,很容易没有被竞争对手攻击,自己就内乱先倒了。而且客户还不买账。

    经过把行业标杆的功能进行遍历列清后,细化到它们能支持的国际化、网络化、多组织模式化、权限控制程度、功能菜单、控制参数、基础字典、输入窗口、输出报表、统计、组合查询、特殊业务处理模式等等,然后对比优缺点。整合出一份吸收优点的特性列表。

    我们还会遍历我们的需求管理系统,把客户的反馈加入进来。研究竞争对手产品,把优秀功能加入。这样就结合了既站的高,也能落地现状。

    然后在这份优点之上,再加入我们看好的新的赢利模式、新的行业管理模型、新的技术模式,形成我们自己的未来产品框架。这个产品框架不是散点,这个软件中拉一个亮点,那一个软件中拉一个亮点,而是要具有新的高度、新的视角,对行业企业组织、业务流程进行审视、形成有组织、有流程、有层次的管理信息化体系。

    只有自己能讲通了,并且自己能说服自己,才能给研发内部扩散你的产品规划体系,从行业客户发展过去、现在、未来变化,现在竞争对手、咱们的竞争地位,讲到现在的新兴赢利模式、新兴敏捷技术、咱们的战略发展思路,说的头头是道,才能让你自己的研发手下相信你的判断正确,思路深远,才能形成目标一致。

    获得公司内部最多人支持是一件非常重要的事情。尤其一件新的产品。到底行不行,大家首先就有疑问。抱着怀疑的态度看事情,没有问题也有了问题。

    需要认同的人上下左右有四类:上有老板,下有手下,左有客户,右有营销部门和实施部门和支持服务部门。缺了谁的配合都干不成。

    首先要获得自己下属的认同,这是最容易认同的人。这是你的群众基础,在你势单力薄的时候,他们就是你的拥护者和同声者。

    然后是获得老板的赞同。没有老板的赞同,你和你的手下想做都不能做。老板不会给你任何时间和资源做的。想让老板赞同,你必须所有的思考都要按照老板的思考方法去给他讲,不能你按你自己的思路讲,那样行不通。另外,你的想法一定是以可以帮助老板赚取更多的钱为唯一目标,而不是其他和老板切身利益无关的目标。那样的事情,老板不感兴趣。很多人说我遇到慧眼识人的老板,其实没有,我只是能帮助他赚取更多的钱而已。这样的人,谁不想要啊。(有人想拿着老板的工资,敷衍老板的做事,干自己的事或者积累自己的客户、技术、朋友等等,这样的人,老板自然不喜欢)

    然后是获得客户的支持。我走访客户时候,和客户老板经常会谈到现在的行业发展、行业挑战、新兴行业机会、互联网新型模式。和客户中层经理谈的就是管理监督、流程、评价模型。

    客户是给老板钱的人,老板是给我们钱的人,而营销部门在乎的是好不好卖,能不能大卖,能不能赚更多的提成,而且卖完后没有后遗症(小心自己多年维护的客户关系被毁了)。而实施部门在乎的是东西好不好让客户接受,能不能很快培训完上线走人。而支持服务部门只在乎以后别出问题就行,工作越少越好,但也不能没有BUG,否则他们就没有多大用处了。

    得到者多助,失道者寡助。上下左右逢源,你才能成功。

    否则,你就是个项目经理---干活人的头儿。

    二、            波、波、波

    这几天,去了一趟罗布泊。

    为什么去罗布泊?

    因为罗布泊没有办公室、没有客户、没有员工、没有邮件、没有电话。大沙漠中一望无际还是沙漠,地表温度接近60度,人很渺小,人的生命也很脆弱,唯一能做的就是找个凉快地方躺下保存体力、保存好水和食物。就这样,在路上,可以有很空的心去思考。(让我想到《商道》中的戒盈杯)

    帮助一个公司做大。过去是求生存,有什么项目就逮什么项目,不管能不能做了,人员素质能不能达到,有单就收,生存比任何诚信、质量、企业文化都重要。

    终于几年来业务模式、收入、团队都稳定了,但未来如何走就摆在了面前。33%的税、办公写字楼租金、员工工资三险一金、销售费用、出差费用、办公费用,不管你有没有单子,这些就要支付。即使今天下班公司关门,钱还在哗哗的流,尤其员工多了,每月的流水费用就在上百万。而每月能够拿回超过100万的销售单子给员工发工资,并且还能处理每个月的租金、销售费用、出差费用、水电互联网服务器复印机打印机传真机等等等等,都是一个未知数。而下个月的单子是否能成功,更是未知数。而下个月的费用却要照常发生。

    于是,我把这几年所做过的所有项目都整理了一番,目前的产品也整理了一番,现在流行的可被风投的业务模式也梳理了一番,希望得到能继承过去还能结合未来发展的良好盈利模式。

    我手头也有需求管理系统和BUG管理工具,关于产品的增强,有N多的方面。但增强了会如何?我要的是能大规模销售(对等员工的薪水和素质,理解能力和销售能力有限,不能销售带有高深管理理念的产品,员工无法理解软件中含盖的管理理念,当然也无法传递给客户);我也需要能大规模实施培训,大规模服务支持(如果需要一个员工花费半年的学习才能胜任岗位,这样的时间成本和人力成本就非常高了,不利于大规模扩张,因为可用人的数量跟不上规模)。而且产品能具有普遍适用性,涵盖尽可能多的客户群。

    我们都知道,做新软件研发,是很消耗资金的。所以,我们都尽量使每一个产品都能生命周期尽可能的长。

    在过去的几年中,我把软件分离为简化版、标准版、高级版,分别对应那些IT信息化水平和信息化理念层次不同的客户。

    对于低级用户,就塑造产品成为一个电子化功能工具,你可以用纸张手工代替,你也可以用EXCEL代替,但这个电子化的管理软件(可以称它为MIS)可能比纸张手工和EXCEL更好一些,所以价格也便宜。在销售队伍的配备、产品宣传、产品包装、定价、实施方法、实施团队配备、服务方法、服务团队配备上都有很大差异。对于中端客户,就会嵌入可量化的管理模型。管理理念是一个很缥缈的东西,你说你这个管理软件管理思想先进,你凭什么,你拿出来真凭实据看。所以,给从未做过管理也不懂管理的普通员工讲通管理方法,并且让他们传递给客户,这种思路是不靠谱的。所以需要可量化的管理模型。输入数据,经过模型计划,就得到有价值的输出。这个模型是创新的,有价值的。很多管理软件遭到最终用户的使用,就是由于最终使用者并未感觉到软件给他自己本人带来了什么明显效果,反而只是一个数据录入者,供管理者分析决策用,而他又不清楚管理者有什么用,就觉得天天很累的输入数据没有意义。所以,需要有可量化的管理模型,是很好给员工传递的,员工给客户传递的时候也不会走样,客户也感觉录入数据有了意义,皆大欢喜。

    对于高端客户,就需要给软件注入管理方法。如何更有效的管理生产,如何更有效的管理销售,如何更有效的管理服务。而这种管理方法,是普通员工所无法理解并传递的。所以这类客户,就需要咨询式销售,与之跟随的产品市场宣传、实施、服务都不一样。

    我们很容易从这里例子联想到中国移动。就一个打电话,很简单的功能,还需要把客户区分为全球通、动感地带、神州行。全球通选择了王石作为代言人,我能的宣传口号寓意了企业领导者掌控企业的信心和霸气。而动感地带选择了周杰伦,我的地盘我做主,很嘻哈。而神州行选择了葛优,我看行,整个一个精打细算的老百姓。大家如果解除过中国移动的客户杂志,你会发现全球通、动感地带的杂志内容截然不同。这就是客户细分。

    我们的软件产品也需要客户细分。否则低端客户觉得产品复杂,高端客户觉得小儿科,我们两头客户都得罪了。

    这几天的罗布泊之行,公司管理团队做了很多交流,对未来产品发展和盈利模式和销售模式和现有员工素质都做了综合讨论。要不要开发新产品,什么时间开发,市场目标客户群多大,潜在竞争对手是哪些,我们如何防御,我们的盈利模式怎样,他们会占有多大的市场份额,我们最终可能会占多大,值不值得我们做,我们现有的资金和人才是否匹配我们去开发新产品,我们的困境和发展是否是新产品能解决的,在我们投入人力和资金研发的时候,哪些业务和人员来支撑发展,竞争对手如果发动进攻我们如何防御。我们一定不能一边忍着挨打一边研发,那样很可能我们没有尝到新产品的好处就自己先死了。

    新的产品而且要与现有产品形成增强的核心竞争力。就像微软,虽然是世界软件帝国霸主,虽然微软的产品线有上百条,但微软主要营收也仅仅是在于四个产品:WindowsSQLSERVEROfficeVisualStudio。四个产品有机结合,互相增强,使微软整个产品战略整体推进。别的公司也生产微软类似的产品,但整合性不好,或者只是生产某一类产品,就无法形成整合竞争力。我们经常会说一句话:用了微软的东西,就得什么技术都得用微软的,否则就配合不力。可见微软的产品整合竞争力多强。我们做产品也需要这种产品体系。像金山词霸、毒霸、影霸,虽然都是消费类软件,通用性强,受众广泛,但几个产品并没有形成整合的竞争力,全是单点,在翻译、杀毒、多媒体播放各个领域都面临着强大的竞争对手,无法形成自己的整合竞争力,所以一直前进的很辛苦。我们做企业管理软件,就是不断产生主打产品,几个主打产品互相结合,并且这几个主打产品还能扩展形成相关的小的子系统,这样每个主打产品其实都是一个产品群,几个产品群互相结合,这种解决方案就很威力强大了。所以我们做产品规划的时候,都要思考新产品与老产品的关系,最好形成整合互补关系,而不是代替的关系,更不能形成互相不关系的关系。

    我们不赞成跳跃式产品规划,看什么有前途就去做。因为一个公司在行业中有固有的形象和影响力,客户认为你就是IBM而非DELL而非迪斯尼,当然苹果转变不成通用。这就是企业气质,和人的性格一样,有些人永远无法成为管理者,有人永远无法成为软件开发高手。有网友提到蓝海战略。第一,蓝海不是那么容易寻找的,但公司需要每天开张销售。第二,寻找到的蓝海往往与现在无法结合,看着好却无法去做,做企业不能乱做,有可为有不可为,今天看搜索不错就去做搜索,明天看地图不错就去做地图,后天看网游不错就做网游,这类企业活不长。你如果在这样的企业工作,你能适应不断转变的要求么,你是一个搞搜索开发的,你能很快转去做网游吗?所以,产品战略规划,最难的就是继承过去,结合过去,还要面向未来。很多程序员有个毛病就是老喜欢推翻别人的代码自己重写一次,这种程序员能力是很低的,高的程序员都是如庖丁解牛一般,在看似复杂关联的环境下还能游刃有余。

    产品规划,我们尽量促使产品成为消费类软件或基础类软件。所谓消费类软件,就是每个人都需要,每个人都得装一套。所谓基础类软件,如中间件、数据库、阿里巴巴平台等等都是基础类软件,上面可以插入或扩展许多合作伙伴的产品,形成了强大的产业链。这种产业链就类似整合产品核心竞争力,互相结合整体推进,就强大的很。大家研发产品的时候一定要记得这两个关键点:整合产品竞争力、基础类软件与合作伙伴。

    其实做产品,都有一定的产品周期。我这10年来,经历了两代产品的研发。第一年开始提上日程,解决要不要研发的事情。要不要研发就涉及到我上述提到的那么多问题,不商量定,新研发或许刚开个头就被下马了。而且要不要研发,需要全体人的支持和老板的坚决决定,否则有些利益团体给老板吹风,本来研发就是需要大量的人和资金,需要长时间研发、推广、销售才能看到效果,如果目前一面临点小困难,就很容易让老板动摇,就把新研发砍掉了,大家都去忙于应付目前的困难。所以,很多公司没有新研发,都是随着客户的项目来完成产品的实现。这样必然留下这个项目的缺陷和局限。所以,大家也总是忙于应付困难,而且困难总是一个接一个,怎么也解决不完,而无暇顾及未来发展研发。

    解决了要不要研发的事情,就需要把人和资金和时间都抽出来。需要的人,现有的员工无法达到,就看是招聘还是与其它公司合作,还是做代理先下水探探路?另外,抽取出来现有员工,他过去的职能就需要相应能力的人顶上。这个交接能否顺利交接,都需要时间。而时间就会引起变动,新的异常又会出现,到底去救火还是抽刀断水?

    把人布局好,才能规划产品。所以一个产品的研发,往往是立项、筹备就花费一年,设计、开发、测试、文案,为新产品而匹配的市场、销售、咨询、实施、支持团队的打造这些都需要花费1-2年的时间。

    而产品一出来,需要花费大量的资金来做宣传。宣传了还不一定能起个水花。这个阶段的销售收入,根本无法承担公司主要收入来源,还处于投入大于产出期。一小部分客户才知道,很多客户还不知道。即使这一小部分知道了,许多人还在观望,希望看看别人应用的效果。好不容易有先锋客户愿意尝试,但由于为了推广,销售单子就必须低价推行,否则人家觉得风险太高。等做出来几个典型的成功案例,可以带其他潜在客户进行现场参观的时候,一年已经不知不觉过去。

    一年多的销售攻势和市场攻势,还有实施成功案例的支撑,终于有数量的客户签单了,他们看到了应用的成功案例,开始应用,但远还未到大斗收金的阶段,这才是开始投入产出刚刚能持平的一年。不要乐观,这个阶段很危险。因为灯塔客户的实施,只是个别。如果失败了,影响也就那么大。再挑选一些客户,还是能东山再起的。到了这个阶段,可能是销售硬顶着劲花费了大量手段强挤出来单子,最后却被做砸了,这时候影响就大了。因为这类客户不是灯塔客户。灯塔客户很先锋,知道尝试是有可能失败的,失败了也在情理之中。但这一阶段的客户,都是想尝鲜但又怕烫手的主儿,一旦失败,很容易传播其他更谨慎的客户,说他们的产品不行,不能尝啊。这就,没有后来了,半路地夭折了。

    在第五个年头,终于迎来了收割年。大规模的销售、实施都展开了,团队也磨合成熟了,做事也有固定流程和模式了。如何低成本、有质量、大规模的实施成了关键思考点。这个时候,看着销售势头挺好,往往年底一算账,成本也高,最后没捞到几个子儿。

    在第六个年头,多年的媳妇熬成了婆,销售收入节节高,开始资金补仓。第七、第八年都在延续、持平,不断升级维护、做相关周边功能的开发。那些怀疑者、守旧者都也随大流购买了软件。但危机已经暗浮。一个市场,往往目标客户数是一定的,软件这个东西也不是像矿泉水一样天天喝完还得继续买。鱼总有打尽的一天,做维护服务和升级服务,也只是把鱼养起来慢慢吃,但总是吃的少,现在的服务费用还无法支撑公司主流收入。

    我们运作产品,就是希望推广期尽量的短,销售期越长越好。通过细分客户群,通过新业务功能的增加,通过关联产品的开发,我们不断延续。可能,换了一个新的界面风格,改进的性能,改进了稳定性,就可以发布一个重要的版本,做个市场秀。市场这个东西不能冷了,一冷了再想炒热就比较难。不延续做,客户就容易遗忘。就如同可口可乐,如果一年不做广告,就在渠道默默的铺货,很多消费者都奇怪可口可乐是否要倒闭了,种种猜测就让消费者购买产生迟疑影响了销售。

    在销售好的时候,大家都觉得产品肯定还能火好几年,反对下一代产品研发的人很多。

    而真正的下一代研发,其实最好在产品第七年就开始启动研究立项。这样,老的产品在推出8-10后,慢慢进入衰落期,下一代产品就能成为新的现金牛,继续带领公司营收创新高。

    研发的早了,推出来市场接受不了,不仅花费大量市场费用而无起色,就连员工和公司高层都觉得没有希望。本来好好的一个产品,就这样被停掉了。研发的晚了呢,人家竞争对手已经推出,我们才匆忙跟随,很容易新产品不优秀,老产品在衰老,几个回合就全军覆没。所以做公司,真是每日如履薄冰,随时都有覆没的危险。

    关于新产品的研发,一定要有这个产品生命周期的视野。要从产业、竞争环境、国家环境、客户行业、技术发展多个角度去思考产品规划。在产品8-10年的生命周期内,每一年的产品完善重点,每一年的市场、销售、定价、实施、服务策略都需要不断调整,而且要针对不同产品层次不同客户层次调整所有策略。

    很多人问我是怎么研发一套可扩展的架构。我说,你不了解这个架构最后的演化未来,不了解这个架构的生命周期,那么你就无法研发可扩展的架构。我们是做企业管理软件,不是做一个百变金刚的企业业务开发平台。架构所应用的产品,它的生命周期是3年,5年,还是10年,还是20年,决定了架构的要求。而且客户行业未来的8-10年的变化会如何。而客户行业往往受中国政策和发展变化影响很大。所以我也喜欢看《经济新闻联播》之类的节目,也阅读《中国经营报》这样的报纸。我一般也就能看到3年,5年都看不到。这样的素质,把握一个8-10年生命周期的产品,确实需要不断的升级自己的知识面和眼光层次,以保证自己能不断调整,不断滚动这3年的步长眼光。

    这就是一个CTO需要做的产品生命周期规划。大局规划,细处入手,客户最关键的需求实现。大规划、大研发,既耗资金又不容易掌控这么庞大的团队又不容易控制这么长的研发周期。而技术总监,可能重点关注于这个产品的实现执行组织。而CTO,就需要在客户、产业、技术、盈利模式方面能有长远并且综合的产品战略。CTO和技术总监的关系类似于国家主席与国家总理之间的拍档关系,一个负责产品战略,一个负责产品实现执行。

    波、波、波,我想起产品生命周期,老想到这个声音。这个声音来自于我曾经痴迷的《街头霸王》。里面的KEN一样,会连续发出白色的气功波,几个连环组合就把对手打倒在地,一波接着一波。我希望,产品波也是如此。

    三、            八部众

    这几天在规划新产品,新产品要做什么,两个来源:

    1看看业界最新的产品,先来个海阔天空的头脑风暴。从ipod模式谈到金山与google的合作,从android谈到百度的电子商务,从孙正义的投资校内网到汽车GPS、车载充电、车载MP3。但这些只是引新思路,真正还要落回到自己所在的行业所在的客户。正规的干,和现在业界的标杆比,我们水平差,和他们用正规的方法交锋,只有输的份儿。所以,历来以少胜多,都是以奇取胜。我们作为中小企业,把金庸+古龙,或者王朔+鲁迅这样来个改良菜,把其他行业或领域的新产品新模式引进来,或许才能突破现有大佬制定的游戏规则。

    2踏踏实实,还是要去检索我们的需求库。历年来,全国客户提出来的数以几千条的需求都记录在其中。小说,就是来源于生活而高于生活。所以,需求就是现实生活,我们的新产品必须从现实需求中提炼出来。否则就是空谈新产品,而根本无法落实。

    我经常看到不少内地程序员拿Google的开发和国内的开发比。在Google,软件是艺术,大家阅读源代码也阅读的赏心悦目,大骂国内软件业毫无创新。我个人以为,我们的积累还是太短,从业者年龄和经验结构偏低,还无法从现状而创新。另外我们面临的资金、客户的限制,我们更是没有多少发挥空地。所以我认同软件工厂做法,大批量高质量低价格快速度的生产。但是,现状是,连能把这种生产模式做的好的软件企业都寥寥无几。大量的软件企业无法实现高质量大批量快速度,低价格也是降低质量克扣员工得来,势必引起客户和员工的反抗而终结低价格。所以,我们做新产品,也不能抱着科学家研究的思路,而更应该是在资金、时间、人的素质、人的数量、竞争压力、客户现状的框架下的量化可控的研发,有阶段,有目的,有重点的研发。

    要有控制的研发,就要有需求管理工具来管理需求库,可以分类查询、检索、统计。就需要老老实实去回顾需求库。如果需要调研,就需要有方法的调研,从组织结构、过程、考核、优化这几方面来梳理需求,而不是开讨论会。

    有了这么多需求收集回来,大家估计会很晕。因为需求来自全国客户七嘴八舌,有来自豪放的东北,有来自细腻的华东,有的来自客户老板,有的来自部门小经理,有的来自部门小组长,有的来自IT人员,有的来自最终操作者。所以,真是林子大了,什么鸟都能飞出来。我记得我在2000年实施的一家客户,最终用户年龄大,打字不灵,希望有个语音输入。这就是需求。如果我们面对这样的需求,我们肯定会说不可能完成。但我们往往不仔细想如何去解决问题,反而耻笑客户傻瓜,怎么不把年轻的换上岗位。但我们了解到那位最终用户是一位专业经验很高的人员,岗位无法代替,我们都闭嘴了,我们最终还是解决了问题,但肯定不是语音输入。所以,我们整理分析需求,不能耻笑这条需求肯定是用户拍脑门想出来的,那条需求是客户自己笨。到最后,还是我们自己愚弄了我们自己。就如同遇到BUG,老是有程序员说不可能,我机器就不报错,或者说肯定不是我的问题,我都检查过了。但最终最终,还是代码问题。这种现象屡见不鲜。

    一个软件,对于不同的人来说有不同的要求。如果你把这些需求归类,你往往会得到这些要求特征。

    对于销售来说,演示的时候稳定、易用、好看、速度快就是关键。

    很多销售并不懂软件,但要买软件,这就是现状(别笑)。我们要就问题解决问题,耻笑问题也解决不了问题。本来就不懂软件,还不易用,销售根本没法给客户讲清楚自己卖的这个东西到底有什么用。

    如果还不稳定,突然报出一个英文错误,销售在那么多客户面前更是漏了脸,吹的那么大现实却是如此,让销售的诚信损失了,必然会到老板那里告一状,以挽回自己打单不利的面子,错全是研发部的问题,那时研发部只有吃不了兜着走了。

    如果软件做的灰不啦叽的,自己都觉得没什么出彩的,客户也觉得很普通,在价格上就无法提升。而销售,最重要的就是卖一个好价格。软件也实用,也先进,但打单过程中,给客户演示也就那么短的时间,而且来听的人大多是以后不实际操作软件的人,对软件到底功能做的多细腻,处理各种复杂业务多么灵活,都根本无法看出来,就看到这个软件不好看。就如同我们遇到一个女孩,很漂亮,到底心灵如何,还没有那么多时间和机会去了解,但首先感觉就不错,愿意去接近。如果遇到一个女孩很普通,从心里一开始就有坎,不是抱着主动去了解的心态,而是怀疑和旁观的心态,就不容易了解一个女孩子。软件,和女孩一样,都同样的道理。

    演示的时候,我往往会看到这样的情形,点下一个查询按钮,10秒钟出不来结果。客户和销售都在等,会议室很静,大家都在盯着屏幕都在等待,但就是不出来结果。销售急了,拼命乱点,更加剧了不稳定和性能约束,最终报错不断,或者干脆销售很尴尬的按下Ctrl+Alt+Del

    对于实施来说,最重要的就是软件稳定。软件不稳定,客户怕软件使用过程中出现问题,就不敢放实施人员走。而实施人员上面还有实施总监在管,有项目进度和经费的控制,所以实施总监老催实施人员为什么还不回来。实施人员也急呀,今天查报表,明天改数据,总是按下葫芦起了瓢。

    软件稳定的基础上,最令实施人员头疼的就是客户需求的事情。如果每遇到一个需求都需要让程序员搞定,而程序员又少,就把实施人员晾到现场了。实施人员本来就想和客户搞好关系,以希望能够把项目顺利进行下去。这下,长时间解决不了客户需求,实施人员就交待不下去,当然要给程序员施加压力。这就是开发部往往是软件公司最受攻击的一个部门,销售、实施、支持都攻击开发部。所以,为了能让实施人员现场满足客户需求,开发人员往往想了很多办法。最常想到的就是开发平台。但我见到许多开发平台,简直就是面向开发人员的(什么XMLSQL、流程编辑)。实施人员只懂业务,对计算机软件操作并不娴熟。所以,开发人员必须要给实施人员提供实施人员能用的起来的实施工具。很多软件系统没有实施工具,只有一个光杆软件,孤立无援。

    对于培训来说,软件易用最关键。你帮助写的再详细,相信看的人都不多(只有我们可爱的程序员才去勤奋的钻研那些详细的WINDOWS API帮助)。软件易用,培训的工作就轻。

    有很多软件,没有演示版,没有操作视频录像,没有最新版本帮助文件,没有新版本更新说明。就凭一张嘴对着电脑屏幕讲。出了新版本,还不知道哪些功能发生了改变,还照着过去学习的知识讲。客户亲手一操作,发现讲的和看到的不一样就有了疑问。培训人员都脸红,自己都不知道怎么使用,也解释不了。所以培训文档对于培训人员来说也很重要。

    对于支持来说,软件稳定是第一位的。否则自己的支持电话非打爆不可,那样,支持的工作又累、钱又少还整天郁闷解决不了,还不如不干支持。软件如果不稳定,那么软件必须可跟踪。最怕软件出了问题,客户打来电话就说:软件不好用。这个不好用怎么查问题啊。到底怎么个不好用,报错的界面截图是什么样的,在哪个模块,怎么操作的,录入了什么数据,报的内部英文错误是什么,版本号是多少,软件打了多少补丁,操作系统是什么版本,操作系统打补丁没,数据库打补丁没,防火墙是怎么设置的,年月日和货币符号设置对不对,打印机设置对不对,自己的IP网络设置对不对。这些内容,最好像WINDOWS一样,出了错,把所有需要跟踪的信息都自动收集起来,然后报出一个提示框,可以发送报告给微软。所以,我们做了一个日志模块,可以自动截图,自动发送日志,自动记录当时操作的SQL语句,自动记录当时的客户输入数据和点击操作流程。给软件跟踪解决问题加快了许多效率。如果一个个去问用户,用户都不知道这些信息到哪里去收集,再一顿反复解释寻找,解决问题就很慢了。有很多时候,用户由于时间太长有其他事在身,就放弃了解决这个问题,久而久之,由于问题越积累越多,就渐渐不用这个软件了。

    对于支持来说,软件自动升级也非常重要。我们往往遇到很多问题都是软件没有打某个漏洞补丁造成的。而且还有很多问题是由于客户端版本不统一造成的。如何能自动的、全部客户端一起升级,一发布补丁就自动全国升级,很多问题客户还没来得及发现就被解决了,满意度就上来了。

    对于后续版本开发维护人员来说,代码容易看懂,代码好修改才是最关键的。程序员想了很多方法:业务开发平台,有意义命名,小函数分割,函数接口灵活,面向对象,设计模式、重构等等。但是,代码仍然越来越复杂,越来越不容易看懂,越来越不好修改。其原因就是由于每个客户都提出各种各样的需求,有时不同客户之间的需求还是矛盾的,大量的代码其实是为了处理客户异常业务,还有的是为了堵某个特殊操作发生的BUG,还有的是为了兼容不同版本之间。这才是代码难阅读难修改的根源。