文|轻流创始人兼CPO 严琦东
一、工程化水平偏低的“超级工程”
2000年前后,美国政府统计署的数据显示:全球最大的软件消费商(美国军方)每年要花费数十亿美元购买软件,而在其所购软件中,可直接使用的只占2%,另外3%需要做一些修改,其余 95% 都成了垃圾。这种投入产出比是令人惊讶的,作为最具影响力的甲方所拥有的供给资源一定是行业顶尖,但是其最终交付的效果依然惨不忍睹。而回看建筑工程,1931 年建成的帝国大厦只花了 410 天,还是提前完工。写个软件还能复杂过盖摩天楼?事情还真没那么简单。
难以遏制的系统错误
相比于其他工程,软件代码编写的出错概率更高。往往上万行的代码里面,一个字符的错误就会导致不同程度的软件运行错误;随着编码参与人数的增加,这种排错和质量管理的难度也呈现指数上升。为了解决不同来源代码的冲突,我们甚至要花费远超于编写本身的成本。
人数增长的边际收益逐渐趋于0
需求的量太大,团队很容易盲目追求人数的扩张,然而往往人数的增长边际收益却并不理想,投入产出比是明显下降的。随着团队不断扩大,这种边际收益逐渐趋于零。其原因是团队变大,我们不可避免地投入更多精力在与团队管理和协作沟通上,这些消耗就像“流沙”紧紧拽着陷入的人,越挣扎反而越深陷。
人力堆砌如果没有伴随着结构化的管理提升,将会是一种灾难,不仅没办法提升项目效率,反而极大地降低项目质量。“工程化”的字面意思代表系统化、模块化、规范化,但我们无奈地看到大量的团队处于小作坊阶段。工程化程度低意味着企业更加依赖“个人”的发挥和贡献,而很多时候“人”是不可靠和不稳定的。
优等生:汽车产业的工程化
不同的产业工程化程度是不同的,相对来说汽车行业的工程化程度在多年的发展下更为成熟。
汽车产业链主要由五大部分组成,包括汽车整车制造业,汽车零部件制造业,零部件制造相关工业,汽车服务贸易业和汽车产业支撑体系。
汽车零部件可分为“模块-总成-组件-零部件”几个层次。在汽车产业链的每一个环节都有完善的支撑体系,包括法律法规标准体系、试验研究开发体系、认证检测体系等。完善的产业链分层是工程化的标志之一,将风险/质量控制在明确的范围内,做好产业链打通和集成,可以大大提升项目最终的交付质量,缩短研发周期。这几年,IaaS、PaaS、SaaS 、iDaaS、aPaaS、bPaaS、FaaS等厂商层出不穷,国内的软件开发供应链分层已经有了雏形。不过闭塞的产业环境还需要进一步开放,国产软件工程化还需要很长一段时间的发展。
聊胜于无的CMM
软件管理工程引起广泛注意源于20世纪70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为管理不善而引起,而并不是因为技术实力不够。到了20世纪90年代中期,大约只有 10% 的项目能够在预定的费用和进度下交付。在这样一个大背景下,美国卡内基梅隆大学软件工程研究所1987年提出了一份用于衡量企业开发能力的标准:CMM;
值得一提的是,全球进行CMM认证的企业中,80%来自于中国。但是这样一份流于形式、止于标准和规范的体系就好像给行业画了一条条分数线,但是没有告诉行业该如何达到这个分数线,真正意义又有多少呢?
二、VUCA时代的项目时效性问题
从1988年5月到1989年9月,求伯君把自己关在深圳的一个房间里,只要是醒着,就不停地写代码。困了睡一会儿,饿了就吃方便面。在这样的一年四个月中,求伯君的肝炎反复复发,每次住院一个月到两个月。在软件开发最重要的时间,求伯君还把电脑搬到病房里继续写。开发之苦不是病魔缠身,不是身心憔悴,而是孤独。“有了难题,不知道问谁,解决了难题,也没人分享喜悦。”求伯君在这孤独中,写下了十几万行的WPS代码。
在改革开放前十年当中,除了求伯君之外,还诞生了许多在中国软件史上有筚路蓝缕之功的软件英雄。比如严援朝在1983年推出CCDOS,走出了中文操作系统的关键一步;王永民在1983年发明“五笔字型”,专家称“其意义不亚于活字印刷术”;吴晓军41岁在1988年将CCDOS汉字系统升级到了2.13E版;“杀毒软件之父”王江民于1989年推出杀毒软件KV6;周志农在1988年设计完成《自然码汉字输入系统》;朱崇君在1988年首创中文字表编辑概念,推出CCED2.0版……
中国软件产业在1988年前后迎来最初的繁荣期。许多软件作者成为当时的明星奠基人物,也激励了诸如雷军、马化腾这些正在大学读书的学子们成为后起之秀。而中国软件产业也迎来了百花齐放的历史时期。
VUCA时代,后英雄时代
进入21世纪之后,我们越来越少听到这些关于软件领域的英雄传说了。需求越来越复杂,变化越来越快,工业级的软件生命周期在变短。闷头写一年然后惊艳整个世界的做法已经行不通了。
在如今的乌卡(VUCA) 时代,【易变不稳定(volatile)、不确定(uncertain)、复杂(complex)、模糊(ambiguous)】,企业是否足够柔韧正变得越来越重要:
- 易变不稳定(volatile)
- 不确定(uncertain)
- 复杂(complex)
- 模糊(ambiguous)
从传统的垂直化供应链、精细化供应链管理到柔性供应链管理、“互联网+供应链”…… 从CRM到SCRM;从BPM到BPA再到RPA;业务管理的模式也在不断适应这个变幻莫测的环境。据Mendix最新的调查报告显示,59% 的中国IT决策者表示,疫情期间的数字变革速度超过了他们的预期,93% 的中国IT开发者认同其企业的软件开发速度需要加快。然而越是快速发展/创新的行业,其标准化就越难做,越是没办法通过一次性的IT投入来完成信息化建设。(外包项目中的“一次性”代码,属于纯粹的虚拟垃圾)业务应用级别的企业软件保质期是非常短的,而且在变地越来越短,最怕的是:“还没生产出来,就成了过期产品”。
清晰的产业链上下游分层对于缩短相应周期会起到非常重要的作用。在生产领域,我们探讨柔性生产;在建筑领域我们探讨装配式建筑。那么,在IT软件研发领域呢?
Gartner:组装式应用开发
Gartner在最近两次的技术趋势报告中都提到了组装式的概念。“组装式”三个字从字面意义并不难以理解,就是将业务模块或者软件功能模块封装成一个个大小适中的积木,支持灵活搭配和调整,从而提升企业面对环境变化时的韧性。理想情况下,应用层(直接被终端用户用于业务活动中)的软件开发将逐步迈向无代码组装的时代。面向业务需求时,系统设计人员只需要挑选合适的模组/积木进行装配就行,就好像我们为新房子挑选合适的家具一样简单。你不用担心家具的制造细节,只需要关注款式或者质量等实际表现是否符合预期即可。
从此往后,我们可能不会再听到力挽狂澜的个人英雄传说了。但是不再依靠“大卫击败哥利亚式”的个人英雄主义,也意味着产业在逐渐走向工程化。
企业管理者一定不能错过的轻流
自从2015年开始,轻流就专注于将面向企业的应用层软件开发进行无代码化。通过7年的产品更新迭代,我们完善了一整套组装式开发工具。我们将原本面向IT的页面表现层和业务逻辑层进行了面向业务人员的重新抽象和设计,提出了6大引擎的开发框架。
可以将整体开发成本降低 90% 以上,并且缩短项目周期 80% 以上。
除此之外,轻流还提供了面向IT的轻代码板块,可以基于无代码的引擎基础提供额外的拓展能力以及集成能力。相对解藕的产品架构设计在满足灵活拓展的前提下,保障可维护性。
独立的数据分析产品:轻析,可供业务人员进行自助式的业务报表分析,是的数据平台和业务平台可以密切配合。
在面向不同角色推出的产品线背后,我们还完善了一整套的管理后台,保障了统一组织架构、统一用户池、统一权限体系的企业及配置能力。
如果你希望深度了解一下轻流,欢迎评论留言联系我~
Leave A Comment?
You must be logged in to post a comment.