查看原文
其他

互联网公司做企业级软件的优劣势分析

孙志岗 嫑关注 2022-09-07

发一篇旧文,主要是为接下来要写的东西做个铺垫。另外,测试赞赏功能。谁会是第一个赞赏的呢?

企业级软件基本特点

企业级软件市场属于传统 IT 领域,其历史比互联网要悠久得多。但近年互联网公司开始“逆袭”,染指企业级市场,比如阿里巴巴有钉钉,腾讯有腾讯通、微信企业号,网易有云信、七鱼、有数等,我们网易云课堂也在做学校云、企业云。这么做当然是为了收入。C 端用户的发展越来越难,快接近顶峰。用户就那么多,一天就是 24 小时,除去睡觉、工作,留给互联网的时间非常少,却有成千上万的产品在争夺这少得可怜的时间。而 B 端用户在工作时间使用产品,粘性大,高频刚需,还有可观的服务费收入。

企业级软件市场体量非常大,养活了大大小小无数的软件公司。IBM、Oracle 这样的巨头都是靠这个领域发展、生存且死死抓住的。随着“互联网+”战略的实施,各种企业、政府机关、学校、医院、银行等对 IT 系统的需求更加旺盛,依赖性更强,市场空间进一步扩大。而且此时也正是从卖独立部署软件到卖 SaaS 服务转型的当口,非常适合搅局者进入。当然,肯定不会很容易进入的。

企业级软件市场的复杂度非常高。政府学校和企业的采购模式、利益诉求不尽相同;不同生产、管理环节对软件特性、服务模式等的需求大相径庭;不同企业对同种软件也总会有个性化的要求;同一个软件在同一个企业内的同一个功能,也可能因部门间的利害纠葛,导致需求不可理喻地分裂。这种复杂以至于“乱”的市场,是互联网公司很不习惯的。

软件公司的产品研发

传统软件公司不会仓促启动一个项目。一定做足市场调研,甚至已经有敲/内定了的订单,才会真正动手。一旦动手,就会大幅投入,轻易不放弃。

研发人员会和首批客户深入沟通,全面了解客户需求,和客户一起商定开发计划。往往会先快速做个原型版本,让用户直观体验一下,提提意见。正式版本开发时,会充分吸收客户的反馈。然后一个版本一个版本地提供给客户使用,过程中继续不断听取反馈、升级产品。

正式版本刚开发时,就已经大体知道未来会是什么样子,也隐约知道有哪些变化的可能,并且充分考虑软件还要部署给其它客户使用,且不同客户都会有自己的个性化需求。所以,软件公司特别注重系统分析和设计,力求在架构上做到可重用、可扩展,降低后期升级、定制、维护的成本。很多软件工程理论与方法都是由此催生的。

软件公司最核心的竞争力,是对客户业务的深入理解和最适合业务需求的软件架构设计。当然,渠道力量也相当重要。所以在这个市场就形成了一些分工,比如有专门做渠道的公司,在某些地域或行业很有门路,它们通常会分走利润的大头;有专门做系统分析和设计的公司,它们是行业的技术核心,可以和多家渠道合作,总利润会超过单家渠道公司;还有专门按照设计稿把软件实现出来的公司,通常叫外包公司。外包公司技术含量有限,比较劳动密集,多数都在印度、中国这种人力成本低的国家。当然,也有做得强大的公司,渠道和分析设计一把抓。中国的公司,也很少有选择外包的。

项目经理和架构师负责的系统分析和设计,是产品核心;销售,是市场核心。这两大核心,决定了传统软件行业的格局。前者决定成本,后者决定营收。

互联网公司的产品研发

和软件公司始终面向真实客户的真实需求不同,互联网产品本质上是创造和发现新需求。这种需求的扑捉,主要靠灵感、思考和运气,而不是市场调研。比方说,如果做市场调研,结论一定是电话+短信足以满足用户的沟通需求,微信根本不必存在。

需求抓得准不准靠运气,那么风险就必然很大,未来有诸多不确定性,唯有摸着石头过河,用市场来验证想法。 产品经理就是第一个下水开摸的。他们不做宏伟缥缈的长远规划,着眼当下,用最简单粗暴的方式服务自以为的用户最核心的需求,设计出非常简单的第一版产品。工程师紧随其后,用最快的速度拼凑实现出第一版产品。产品马上推向市场,运营做一些低成本甚至零成本的推广,获取第一批用户,接受检验。通过几次快速的迭代,如果效果不好,果断转型。如果效果还可以,甚至一炮走红,就再追加投入,继续用摸石头的方式快速迭代和扩大用户规模。

这种“小步快跑”的做事套路,是互联网能蓬勃发展的核心驱动力之一。基于此,也就应运而生一些具体做事的方法和思路,与软件公司很不一样。

软件公司期望能用一套软件服务所有的客户,因为每个客户都能带来收入,于是软件就会设计得很复杂,有无数开关,有二次开发接口,来满足不同客户的个性需求,比如 Office。互联网虽然也希望用户多多益善,但用户种类多,就要同时摸多块石头,风险也会加倍。所以,互联网公司通常是只用一个软件服务 1-2 种用户,服务 3 种的都很少。比如一个微信,服务各种信息的收发者;一个网易云音乐,服务音乐的发布者和收听者;一个淘宝,服务商品的卖家和买家;一个滴滴出行,服务司机和乘客。无论用户数是 1 个,还是 1 亿,都只用一种简单且有效的方式服务。虽然每个用户都会有自己的偏好,但软件免费啊,且核心需求是满足的,也就不挑剔了。

用一种方式服务所有人,才能保证单客成本足够低,才能支撑免费模式,才能让业务指数增长的成本可控,盈利的遐想空间巨大,被 VC 看好加大投入;只做一种方式的服务,也就是足够“专注”,才可能“快”,才能将其做到“极致”,形成“口碑”。

只做一种方式,就意味着要有取舍。所以,与软件公司的项目经理处处跪舔客户不同,互联网公司的产品经理才是产品的上帝,按照自己的喜好(当然,他们会说这是用户呼声,事实上也确实是用户呼声,只不过未必是多数用户内心的呼声)来推动产品发展。自己不喜欢的需求,就直接忽略。为了避免产品经理的好恶和用户相悖,很多产品经理就是来自用户,他们自己就是典型用户,做出的产品自然也更容易被用户喜欢。

再牛的产品经理,也不敢说自己的判断 100% 正确,还是得不断小步快跑来收集市场反馈,快速调整。未来,总是不确定,但这是程序员最怕的。工程师实现的每个功能,都不确定未来会怎样演化,甚至不知道能存活多久。再加上“快”字诀的催促,所以最现实的选择,就是用很粗暴的方式把功能先实现,等稳定了再用优雅的方式重构。但实际上,要么没等到重构产品就死了,要么想重构却没时间,要么有时间了却怕影响日常业务而不敢动,要么敢动却缺少会动的人才,因为大量的业务层工程师一直都是做“快”,没有做“好”的经验。所以,站在软件工程的角度看,互联网产品的开发工作普遍来讲,是缺少设计和规范的,用面向对象语言写的结构化代码是不好意思给人看的,但确实是业务压力下的无奈折中。

那都说互联网公司的技术力量雄厚,是厚在哪里呢?厚在底层,系统、框架和算法层面。在互联网领域,这些技术获得了长足进步。但业务层的系统分析和设计技术,还未被充分重视。

在软件公司,系统分析和设计技术是核心竞争力。但在互联网公司,更核心的竞争力是产品设计和运营。前者决定了产品形态,后者用尽办法拉来用户,两者一起留住用户。有用户,产品才有存在的价值。

优劣势分析

易用性优势

互联网产品的研发方法、思路和习惯,用到企业级软件领域,可能会形成颠覆,但也可能水土不服。最具颠覆性的,是“易用性”。传统软件行业一直没能解决,甚至不想解决的,就是易用性问题。从根本上而言,这是经济模型不同导致的。

企业级软件市场一直是销售主导的,采购方的决策者,也就是客户,是成单关健。于是无论销售还是产品,都在拼命满足客户的需求。但客户,往往并不是软件的最终用户,甚至他们的某些需求会和用户相矛盾。所以,用户常抱怨系统“不好用”,以至消极用。软件公司也缺少动力去想怎么让软件好用,因为这不是成单的关键。甚至说,“不好用”,才会不断投入大量资金来升级/更替系统,期望让它好用。如果好用了,投入就少了,大家就都没得赚了。荣誉感使技术出身的项目经理是有把系统做好用的意愿的,但他们更愿意做大而全的系统以展示技术能力,很难体会小白用户面对满屏选项的心情。他们心中的易用,和用户心中的易用,几乎完全不相关。

举个例子,很多政府部门、学校,都会投重金搭建邮件服务器,购买邮件系统,聘用专人维护。但员工却不大爱使用这种官方邮箱,对外联络更多用的是 163、126、QQ 等免费邮。为什么?因为他们觉得互联网公司的免费邮箱即便是有广告,也更好用。因为取悦用户是互联网公司生存的根本。

中国企事业单位的信息化程度低,很大程度上是被那些“不好用”的系统给拖累了。但互联网,尤其移动互联网的普及,让越来越多的人能在日常生活中体会到信息技术的便利,进而就会思考怎么在工作中却用不起来。这种思考变成声音,就会对决策者产生压力,使他们开始注重“好用”,考核 IT 部门时不再关注“部署成功”,而是关注“应用成功”。近两年这种思想转换非常明显,包括在政府采购这种政绩导向的重灾区,也越来越关注实效。PV/UV、转化率、活跃度这些互联网指标,正逐渐成为政府网站的绩效指标。机会正在向互联网公司倾斜。

花了钱买软件服务的客户,心态肯定和免费个体用户不一样。他们做惯了甲方,习惯对乙方颐气指使。而互联网产品经理却习惯做产品的上帝,习惯砍掉不重要的需求。砍需求,是易用性的重要前提。但是,企业用户的个性化差异往往很大,一个需求在一方可能是无关紧要,在另一方可能就是核心根本。更何况还有一种需求,产品经理不认可,事实上也确实没必要,客户就是要。如果不做,那么单子就吹了。怎么办?需求还是要砍,但砍得肯定不及以前任性、爽快。有时做个恶心的功能,却能换来大笔订单,好像很值得做啊。产品经理必须在功能和易用之间找到一个新的平衡点。如果能做到功能复杂却仍易用,就完美了。

软件工程劣势

传统软件另一痛点,是稳定性。这里既包含运维带来的稳定问题,也包含性能问题。SaaS 模式还带来了对信息安全的担忧。这些问题和易用性一样,是互联网公司的看家本领,已经解决得很好了,天然让客户信任。然而,业务层软件的稳定性、扩展性等,也就是前面提到的软件工程问题,如果不解决,会很快让这份信任付诸流水。

企业级软件的需求一向很复杂。产品经理再神通砍需求,也只能让复杂性降低一点儿。这就是软件企业重视系统分析和设计的原因,因为进行抽象设计,是满足需求的同时降低软件复杂性、提升稳定性、扩展性的唯一手段。在这方面,互联网公司是比较欠缺的。产品经理因为缺少技术背景,没学过面向对象,在需求分析时做不出抽象;工程师的工作习惯里一直不强调抽象,早把学校学的忘光了。不做一番学习、实践来提升抽象思维能力,是迈不过这道坎的。此外,其它提升软件质量的手段,比如单元测试、文档、代码规范等,互联网公司也比软件公司做得差。

其实,就算不做企业级软件,互联网公司也非常需要提升软件工程水平,不然携程那种全站瘫痪的故障,会越来越多。这是另一个话题了,有机会再写篇博客聊聊。

市场劣势

这个劣势乍一看很明显。一直做 2C 的业务,当然缺少 2B 的渠道、经验和人才。不过这个也最好解决。只要有过硬的产品,渠道公司会排着队来代理的。自建渠道,难度大一些,因为渠道里的某些花样,和互联网公司的机制不兼容。所以,首先要选好市场方向,体制内体制外不可一概而论;然后在机制上要和市场规则,尤其是潜规则进行恰当的适配。

互联网公司擅长营销,但营销对 2B 市场,只能是助力,最后成单还得有销售跟上。不过,这份助力也值得一用。至少能把宣传材料做得更通人性一些,不那么硬邦邦。也可能对最终用户产生影响,进而影响客户的决策。

运营优势

让用户用舒服、开心,不是产品功能就足以做到的,运营手段也很重要。互联网运营有“哪怕是一坨屎让用户吃下,也能咂咂嘴说味道不错”的本事,什么积分、签到、抽奖、分享、小恩小惠等。这些手法应用起来,不仅可以达成实效,让客户满意,而且可以提升用户忠诚度,跳槽了也会向新东家推荐你的系统。如果控制 2B 运营的成本,充分发挥企业自身的力量,是值得探索的课题。

另外,对内容型产品,比如培训系统,互联网运营多年积累的内容资源,是软件企业所不具备的。这甚至会成为胜负关健。

总结

这篇博客写了一年多,原因无它,重度拖延而已。但拖延也有好处(//理直气壮地),就是很多预想与猜测,变成了现实,写得更有信心;不靠谱的猜测,不必写出来丢人了。虽如此,面对这么大的论题,此文还是心虚的。当小白科普文尚可,霸道总裁只管笑话好了。

总的来说,互联网公司要打赢 2B 战,肯定是扬长避短、顺势而为。所以:

  1. 坚持产品至上、服务用户的理念 - 这是大势,也是优势

  2. 补足软件工程短板 - 这对自身也大有裨益。软件企业也是一步步把软件工程搞起来的,坑都踩过,怎么填也都知道

  3. 充分利用互联网势能 - 产品口碑、内容优势、运营经验等,这些都发挥出来,胜算会更大

最后借用一位前辈的话(大意)结尾:

“2C 产品为第一代互联网人创造了大量财富,而留下的机会不多了。新一代互联网人的机会,在 2B。”

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存