【转】SAAS软件-ToB 破局之道

一篇把中国企业软件真正的困局、现况和我实践的破局之道串起来讲完。

有未知,就有预知。有预知,就有无知。

我们回到现实。中国 SaaS 的基本市场情况,我叫它“捡烟屁股”。

在两三年前,美股 SaaS 还没如此规模的、成批量的爆发,该领域国际资本还未外溢到中国,大部分 ToB 人只能徘徊在中国经济主体之外,捡着中国经济发展的缝隙,寻找客户,像在捡别人抽剩下的烟。

SaaS 产品通用性根植于目标市场中实践和流程的通用性,不能凭空编造而来。

而在中国企业中,由于通用行业范式的缺失,市场竞争机制的不透明、甚至不可控制、无法预测,市场主体的经营管理模式千奇百怪,行业和区域间沟壑纵深。由此得出推论:中国的企业软件模式,必然体现为“主干小、四肢大”的“向日葵模式”

以竞争为核心的市场,天天看的都是对手,打的是情报战。以客户为核心的市场,眼光才能看向客户,打的是服务牌。只有后者,才会行业有长久效益,也才有持久增长的基础。

而对于发展中国家而言,最高效的办法,其实就是最土的办法:抄作业。然而,如果抄个答案,没理解过程,无法推一反三,必然在中国这片迥乎不同的土壤中,无法得以应用。必须把信息拆开揉碎,消化掉,变成自己的养分,并因地制宜地创造最佳方案。这种“既有方案分析、拆解、组合、应用”的思路,和发达国家的“探索创新”模式,对资源、人员、理念的要求完全不同,也不应追求相同。

产品经年累月积累的那剩余 80% 的功能,就只为满足剩余 20% 客户中的一小部分。很多产品能力,我扪心自问,没有信心哪怕 2% 的客户能够使用到,但为了“未来可能出现的需求情况”,仍然会做到主线版本中。这和纯粹做交付和服务比起来,毕竟有产品在,肯定要更好。但距离理想仍然很遥远:这是偷懒的做法,给了自己在“做产品”的虚假预期,得以获取心理慰藉,其实还是在做交付,只是把交付做进了产品。

原文链接:https://mp.weixin.qq.com/s/DltDGK5BCjnwW-n1V2OElQ

读《聊聊‘架构’》— 尚不够架构

内容摘录:

  • 业务和架构,是压在软件从业人员身上的两座大山。页软件从业人员手上却只有一个武器:技术。可是这个武器还时灵时不灵,
  • 业务和架构都是处理人的问题。而技术人员最讨厌处理的就是人的问题,心里面厌恶,却又无法逃避。
  • 架构的目的并非产生一个业务之外新的东西出来,只是为了让业务长得更加高大强壮,服务于更多的人。
  • 做架构的人必须亲自体验业务,感受业务,才可能真正认识业务的个性,真正认识业务所面临的问题。
  • 识别问题这个能力基本上就决定了架构师的水平。
  • 识别了问题的主体,自然而然地就附带了这么多的隐含信息。挖掘出隐含信息,就自然而然能够问出来其他问题了,
  • 架构切分实际就是对利益相关人的利益进行切分或合并,使得每个利益相关人的权责是对等的,每个利益相关人可以为自己的利益负责。
  • 架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。
  • 一个好的架构拆分,会形成一棵树,慢慢会长成一片森林。
  • 架构的目的就是为了增长。
  • 架构师有权力的同时也有其义务,也是权责对等的。架构师要时时把增长放在自己的第一考虑要素,把识别核心生命周期及其主体作为第一思考,这样才能确保权力的合理分配,保证增长的效率。这是真正的架构师和普通人思考的区别。
  • 要知道,工作是否完成由业务人员决定,而不是软件工程师自己。
  • 随着对业务的熟悉,对时间的恐惧才会慢慢地消失。对业务领域理解得越深入,就越知道如何去发现问题,慢慢就成为业务专家了。
  • 形象一点说,业务是硬币,架构和技术是硬币的两面。
  • 要知道开源的只是代码而已,而代码并非软件生命周期的核心。
  • 软件生命周期的核心是代码的运行生命周期和用户访问生命周期,而不是代码的建立生命周期。
  • 很多软件工程师学了大量的算法和计算机基础,然而在工作中发现派不上用场。这是非常正常的,因为这些内容是为了在科学领域做研究准备的。而在业务领域,大多是如何把现有的业务在软件中模拟出来的问题,并没有太多高深的数学问题。
  • 软件的拆分必须要和业务的拆分对应起来,
  • 很多人总是拆不好的原因,就是忽视了业务生命周期的分析。因为软件的核心是模拟业务,而业务代码又是按照业务的生命周期组织的,
  • 大数据其实说的是新的针对大量数据的处理技术,并非“大数据”这个概念表面文字那样是说“数据”本身。
  • 数据库事务只应该存在于和数据库打交道的存储代码中。

 

推荐你去品一品此书。

20210110221948

 

 

2013年的-工作-思考

扁平化管理。

没有上下级,但必须让大家心往一处使,需一个核心团队,让大家明白我们存在的问题,还是自己承担?

或者我们大家开一个座谈会,听听每一个人的意向,是把自己当一个打工的,拿工资吃饭;还是自己愿意付出,愿意同公司一起打拼,当然,回报也是肯定的。

我没有威信,如何建立这种威信,是靠制度,靠个人结束(不太现实);靠一种氛围(什么氛围),技则优而管,而我现在什么也不是,我所知道的是付出,为公司成长付出一切,当作自己的事业来对待。所以不能松懈,不能降低自己的要求,行事,说话果断,说一不是二的,让团队成员认可我说的,说了就要做到。同时,保持一颗积极向上的心,尽量不把消极的东西传递给他人,学会承担,学会忍受。

团队必须要有向心力,凝聚力,让大家目标明确,心向一处使。

我们是经验没有,技术力量也不足,但如何发挥现有人员的所有能量,值得深思与探索,对于不同的人,不一样看待,如果你把自己当一打工挣钱的,那把自己的工作干好即可;如果愿意与团队共同成长,愿意为团队多思考,多提建议,那欢迎加入,共同进步,一起面对,培养一个自己的核心团队,有一帮人。

如果我们目标明确,方向清晰,任务清晰,那我们就没有必要做,直接找别人来做就行,也就没有我们存在的意义。正因为我们目标不明确,需要我们去探索,去发现,对于我们要做的最终的东西–虚拟现实。我们是在创造,创新,而不是去照搬,去模仿,我才会为此心动不已,彻夜难眠,不断思考,探索。正如小波如言:只有现在不断深入,才会发现有多难,有那么多公司死在前面的沙滩上。

我们任务计划不明确,做的东西不断改来改去,每一次的修改都是一种尝试,一种探索,只期望我们会做的更好。我确实威信不够(威信来自哪),因为我也在不断地自我否定与自我批判,如果是一JAVA项目,我能完全handle住,那问题简单许多,多听听别人的意见,但我也确实有不足的地方,有的放任,没有让团队的向心力凝聚,没有让每个人觉得我们是在探索新加的东西,让每一个人参与进来,说话语气不够坚决果断。

有成员说,慢慢来,慢慢来,可我认为这是大忌,慢慢来到底是多久?半年,12个月,还是。。。至于,如果我们现在能确定的,那马上就去做,去实现,Action。

必要的交流与座谈是必须的。

在UI设计上,没太多的经验,我们需要做的更好,我应该多给参考。

用人要用长处。

相比起其他的虚拟现实,我们的效果各方面已经很好,但我们还是不达要求,我们还必须做的更好,有要求必须会导致进步,但如何去衡量时间与产出,我们是不是太急,又或许什么样才叫不急或太急,没有一个秤来量一量。

对于长期来说,我们的终极目标是什么,我们最终的产品或平台什么什么样的,又或者我们需要更多的交流与探讨才能知道。

万事开头难。

一个不断自我否定,又不断自我完善的过程。

对于公司的第一步,我们不是去盈利,去赚钱,而是建立一支核心团队,找到现实与我们心中“完美”的虚拟现实的路子,有了路子,有了方法,才为贵重。我也不清楚我们会花多久才会完成,但至少我认为我们走在正确的路上,每走一段,我们停下来息一息,总结下,再继续前进,12月底将是我们息一息的时候。

对于及下来的步子,我没想,我只想脚踏实地做好第一步。

 

2013-11-30

转:「远行」

知北游离三百岁,洪天月地路远长。
八百秦川亦惭愧,万尺流江叹茫茫。
曲径通天盘盘路,天梯回环勾地莽。
豺虎磨牙欲吮血,狼骨游荡等人粮。

夸父亦彷徨!前谷后崖两慌张。

问君北路何其远?仰天俯地心悲伤。
背井之人遥指路,拭泪千行更万行。
野风狂雾迷醉路,鸦雀苍鹰叫堂皇。
何时得以归家去,冰酒消愁鬓见霜。

老燕飞孤影,茕独不改任南方。
烈火方出精金美玉,岁寒才知松柏之刚。

终有勇者长笑日,愚公开怀天朗朗。
嶙风扫去千秋雨,云开雪消复暖阳。
蚍蜉撼木尤未改,粮久入窖苦飘香。
待得回游千里路,但求无悔心无妨。

 

— 作者:michael  https://github.com/xibo55

(记一段最初创业时的心路历程与感叹)

少一些大而全, 多一些小而精 — 我的开源观

看过了太多包含N多框架的,功能齐全的开源项目,总都是在宣称此框架能XXX,XXX.
开源挺好.
结果都一样, 走入另一个软件开发的沼泽继续不能自拔,深陷其中,无能更改与纠正.

软件是复杂的,复杂到超出了绝大部分程序员的能力,太多的广度意味着精力的分散,缺少深度
与比别人更浅层次的理解,太多的仅限于会使用,会弄,会满足当前项目要求,甚有直接从培训
学校搬出来的开源.
写程序,码代码,与做人做事毫无区别,你的时间在哪,成就就在哪,公平,公正.
迫于对工作的需要而不断地增加框架,整合框架,会用即是目的,功能实现即是高手.然后开源.
殊不知对软件,编程的理解少的可怜.天天一说便是熟悉这个,熟悉那个,一问深点啥也不知,
毫无羞耻感——最垃圾的程序员

对于什么是编程思想,什么是继承,封装,多态等等,说很容易,弄个简单的例子也很容易(网络
强大的好处之一),可真到了实际运用中,实际项目中,全然变成了以功能实现为目标,哪还知道
何谈抽象,何谈解耦,何谈扩展性…
说的都是人,可人才是根本的问题所在,人的能力,素质,身体,思想跟不上,何谈有小而精的深度,
精度.

“重复发明车轮”依旧是软件从业人员的常态.若把这提升到一个人的人生态度,就能更反映出有多少人是把软件编程当作一份职业,谋生的手段,而不是真正的热爱与自己的兴趣所在.
想想真是悲哀,那些一生没有追求过自己,三四十年的职业生涯都没干过自己最有兴趣,最有成就感的事——程序员首不其冲,无以回避.

你的精力,身体,资源,始终是有限的,过多的大而全只会在让你始终飘浮在一框架或技术的表面,
难以深入而有惊人的见解(有惊人见解的才是值得开源的).我曾对一些程序员说”如果你真正理解了MVC,那么你也能实现一个自己的MVC框架,而不管你用什么语言,什么方式”.只有真正的理解,思考,思索,再经过长时间的实践,结合书本,才能真正形成你的思想——你的编程思想.
每个程序员都有自己的编程思想,各不相同却又求同存异,健康发展.

个人认为开源首先要有”拿来用”精神,要勇于承认别人做的好的东西,尽量多的重要并吸收; 其次要有简化的精神,太深奥的技术(如class编译,加密算法)如何能用通俗的易于理解的话语来描述是开源的又一核心所在(能达到这一点的一般称为master),毕竟使用开源的,大部分是普通的程序员(即会用的程序员).
最后,开源一定要有专注精神,专注是社会进步的基石,只有专注才能做出精而深的开源作品.任何的开源都要像商业项目一样有明确的需求,要解决的问题,要达到的目的与效果,并坚持长久,不断优化,完善文档,使用说明等,才有可能成就优秀的开源作品.

基于现代的代码库,协作平台的广泛使用,要创建一个开源项目已是容易之更容易.你开源的是一件作品(而不只是你的代码),是你的编程水平,文档能力,综合水准的深刻体现.
对待开源的态度,即等于你对待软件编程的态度;是否成就优秀的开源,是否成为优秀的软件工程师,也是你人生的完全体现.

2017-12-12 凌晨