从下层来看,开发的职责是修正以及开发功能,但是将视角提高,软件系统到底是在做什么?
初级的软件系统
初级的软件系统,主要的目标停留在现实中传统行为的信息化上。
这么说也许不是那么恰当,更恰当的说法是,软件系统的初级功能,是现实中传统行为的信息化上。
借助计算机的以下功能,我们可以对一些传统行为进行信息化,以信息化提升效率:
-
信息的存储
-
信息的传递
-
数据的计算
初级系统后续的演进
首先,在实现了基本的信息化以后,系统演进的方向就是通过对基本信息化实现进行结构以及功能上的优化,以此来实现对传统行为的革新
然后,通过更新旧技术,以及对新技术的引进以及尝试,来进行不断的探索。尝试能否进一步提升传统行为的效率,能否对场景进行革新
同时,谋求系统的通用以及适配化(一种抽象化的追求),以此来让系统的适用场景更多,扩大自己的影响力。
让我们通过一些分析来更好的理解
打车系统
打车系统的发展是必定依赖于智能手机的发展的,因为其核心是信息的传递。 我们可以具体分析一下
信息的存储
这点老早就具备条件了,打车系统并不需要更特殊的信息存储
数据的计算
地理科学以及计算机图论的发展,早已满足了打车系统的需要
信息的传递
打车系统极其依赖智能手机发展的原因是,智能手机大大提升了信息的传递效率,增加了信息的触点。
我们来看下打车系统实现的传统行为的信息化是什么?如果没有打车软件,我们该如何打车?或许可以如此做:
-
打114,告知114你的位置,以及你需要打车
-
114的接线人员群发短信或者挨个拨打电话给出租车司机师傅,为你寻找一位师傅
-
对应的师傅开车前来接你
仅从这个流程上来看,打车软件早就具备了出现的条件,也可以在这个场景实现传统行为的信息化。 -
在打车软件下单
-
所有师傅收到下单通知,自主接单
-
接单后,前来接你
核心在于,智能手机出现前,没有人会抱着一台笔记本电脑来到处跑,并使用打车系统软件进行打车
从上面这个例子的分析,我们可以发现,信息的存储和数据的计算早已满足了大部分软件系统的前提条件,所以,所谓的互联网信息二次革命的本质,就是移动化的发展,大大扩大了信息传递触点,使得更多的传统行为可以被替代。它对软件系统真正影响的范围也十分明显:在支付、出行、生活、娱乐等领域,它催生了许多新的软件,是创世神,没有它,许多软件系统无法诞生。但是在电商、通讯等领域,他仅仅只是一种原有软件系统的革新。
saas系统
从所谓的saas系统来看,我们来看一下系统的诞生和演进。
saas实际是一种跳跃的产物,起初,他们面向某个具体行为来做了一套软件系统。这些行为主要集中在:
- 企业进销存
- 某些具体专业领域的系统,如金融。
- 企业财务
- 企业销售管理
这符合软件系统的第一批发展:由企业购买计算机,并使用软件系统来提升企业运行效率
此时这些软件系统的演进与科技发展正相关很小,必然走向刚才说的情况:
- 通过对基本信息化实现进行结构以及功能上的优化,以此来实现对传统行为的革新
- 谋求系统的通用以及适配化(一种抽象化的追求),以此来让系统的适用场景更多,扩大自己的影响力。
首先是第一点,在实现面向某家系统的软件系统后(例如财务),必定会寻求对流程以及系统的优化或者整合,让这套系统可以卖给更多的企业,让他们也是用这套系统来进行信息化。这类公司很多,只卖几套的是项目型公司,到最后造出一套较为通用卖的够多的,就是第一点发展到极致。类似的公司有:银行金融的某生和某达,ERP和税务的两个某友等。此时系统的特点就是:尝试抽象+定制。
再结合第二点,如果这种抽象化的追求成功了,就发展成了saas,传统的售卖方式存在一种交付上的困难,一套基板+少量定制的方式,本质是在赚辛苦钱。如果抽象化成功了,就可以走云模式,部署一套,所有人使用同一套,数据隔离。
所以你会发现saas经常会回到之前的问题:抽象的不够好,又需要定制,定制完以后,又需要抽象,到最后干脆尝试交给用户,只做最低级别的抽象,也就发展到了低代码。
综上所述,面对许多做saas的,如果你发现团队只有传统的业务知识,或者只有少数的某几套定制系统的知识,那么这个团队注定是难以成功的,因为saas的抽象本身就需要要么对于这个业务领域传统行为的惊人深入理解,要么就需要足够数量的定制系统以寻找抽象依赖的具象。
others,那些成熟的系统
通过更新旧技术,以及对新技术的引进以及尝试,来进行不断的探索。尝试能否进一步提升传统行为的效率,能否对场景进行革新
大部分成熟的系统,就进入了固定的营收以及这一步的探索。没事蹭蹭ai等新技术。优化下性能,上一下云服务,研究下服务网格,试一下领域驱动,尝试提供更好的稳定性,或者降低开发以及运维运营成本。比如某团,某宝,某饿,现阶段的打车系统