开篇之前先写一段话:技术创新在技术与从业者的关系方面,终极思维就是脱离对人的依赖。人类任何一个只要和技术有关的行业自创立之后,技术创新的努力除了提升行业效能以外,典型的表现就是逐步减少对从业人员的个人脑力、体力的独特依赖,直至不需要人。

先说说云计算的发展历程。

1988年,太阳电脑(Sun Microsystems)的约翰·盖奇提出“网络就是计算机”(“The Network is the Computer”)的概念。2006年3月,亚马逊(Amazon)推出弹性计算云(Elastic Compute Cloud;EC2)服务。在2006年8月9日的搜索引擎大会(SES San Jose 2006)上,谷歌的埃里克·施密特提出了“云计算”(Cloud Computing)的概念。

人类对新生事业的理解总是需要一个过程,一开始听IaaS、PaaS、SaaS的时候,懵懵懂懂,甚至觉得离我们还比较遥远。今天再来看看,IaaS的发展在国内早已经如火如荼;十多年前刚听说SaaS的时候,当时我只是觉得商用太难、无利可图,但当时的Salesforce已经风声水起,2005年推出了AppExchange的在线应用市场,并且Salesforce在PaaS方面的实践也是很成功的。

在和老曾和聊天中,让我认为随着云计算理念得到更大范围更深度的理解支持,定制软件开发将迈入开发即服务DaaS的新阶段

DaaS(Development as a service 开发即服务)是一个全新的概念,为什么要提这个概念?因为PaaS并没有支撑好定制软件的开发,目前的实际情况是则是PaaS在概念和边界上很模糊,IaaS服务商其实已经提供了一些初级的PaaS服务,可以说这部分的PaaS已经成了IaaS的一部分;另外SaaS服务商比如Salesforce就提供了很好的PaaS服务,但是局限于其自身体系内,主要还是为了聚集更多力量把自已体系内的SaaS服务做的更好,可以说相对独立的PaaS概念在实践中已经没有什么意义了。

云计算理念将拉动软件开发迈入开发即服务(DaaS)的新阶段

云计算现状分析图示

云计算发展到今天,更重要的意义估计是其构建的一些核心思想理念影响和指导着我们的实践,“像水电一样的IT”说的太棒了,今天针对信息技术服务的不同参与群体,云计算已经有了不少的产品和服务,IaaS、SaaS已经产生了革命性的应用效果,但是面向软件开发的服务还没有在云计算层面有所突破,今天除了类似Salesforce生态体系内的PaaS服务,我们大体也只能看到低代码开发平台这样的实践,让企业开发定制软件更简单一些,但由于普适性、自主度、依赖性方面的原因,目前的应用场景还局限在一定范围内。

能不能让高效能的软件开发服务随需可得、按用付费?

这就是DaaS(开发即服务)要回答的问题。我甚至认为,未来的云计算将改由IaaS、SaaS和DaaS构成,分别代表硬件基础设施、应用软件和软件开发这三类资源服务,现在就是要把软件开发(开发能力)这个最为重要的资源变成像水电一样,而软件开发是非常复杂的,开发者恰恰是一个最知识化的群体,太有挑战了。

DaaS(开发即服务)可以形象化的描述一下,比如张三因创业需要开发一个软件,没有足够的财力建技术团队,也不想去和外包方算计扯皮,但又想像用水电一样能随需可得、按用付费?我认为,张三的这个需求就是DaaS(开发即服务),目前看需求是存在的,商业基础也是存在的。

DaaS(开发即服务)要变成实践,就要求软件开发服务必须实现:远程实时在线、标准化可计量、开发质量可控可评、程序员可插拔,还必须低成本。听起来感觉很不靠谱,软件开发的复杂性让成熟团队都很难实现远程实时在线、程序员可插拔,更不用说标准化可计量,更何况不限团队和人员的情况下,还要保持低成本。

事实上,老曾的猿开开已经实现了上面说的几个诉求,通过项目实践在各个方面都展示了突破性的技术创新,DaaS(开发即服务)似乎已经不遥远了,我看到了希望和未来。

猿开开的云技术部已经能让人感受到DaaS(开发即服务)的味道。

老曾说在去年底相对规范地用云技术部的方式组织完成了一个软件的开发,“云技术部”就是在云端为客户建一个虚拟团队,那个项目的需求调研和原型设计由客户自行完成的,详细设计工作由一个技术经理花了一周左右的时间通过猿开开系统在线完成的,拆分成了60多个小时级任务,之后通过网络先后招募了20个程序员,通过前后半个月的在线试工选择,最后选择了4个人,大概用了一个月的时间完成了项目的主开发工作,并且随着将来可供选择的注册程序员多了,人员是可撤换而不影响项目持续性的,据说整个项目开发过程比较轻松,老曾已经完全不用出手了,完全不像2012年我俩一起做开发平台时那样的焦头烂额。

下面分享一个猿开开的在线演示视频,通过结合上面讲的案例实施将方便您更多了解,视频很简陋不过能说明问题。猿开开项目案例操作演示视频

以上说的云技术部似乎挺简单,但实现起来不易,目前在业界还没有看到谁有这方面的实践,这些都依赖于猿开开的核心技术创新,让软件开发全程透明高效。

猿开开认为软件工程中所有问题的根本在于开发规范不能得到实时、自动、低成本的落地和维护,基于面向过程的模式驱动技术是开发规范高效落地的核心,该技术是人工智能归纳领域的一次突破性应用,通过寻找最大化共性,自动形成作用于系统的规律和规范,并且能不断的自动跟踪调整。面向过程的模式驱动技术,通过自动化从多个事务中抽取、建立、配置、驱动、运行来建立共同的规范,这种人工智能的应用,使得规范建立和持续维护的成本非常低,是无感而强制的,从而巧妙的在根本上解决了规范落地的难题。

我和老曾曾经讨论过一个话题,就是规范和自由的问题。他得出好像是“只有无与伦比的规范,才能有无与伦比的自由”,这大概可以上升到哲学思考,真实的世界大概就是这样。他这句话其实就是说你可以自已制定你的开发规范,猿开开保障这些规范得到高效低成本的落地,来保障你开发的高度自由。

老曾的梦想如果实现了,将促进定制软件开发的专业化分工。

一个开发项目大概会被分为三段,未来可能会由不同的团队来执行,但依然能保持高效协同。

第一段,需求调研和原型设计,我不是技术出身,一直坚信这才是项目核心价值所在,对于创业者来说是命根子,现在受重视程度不高,这一段的工作可以认为是非技术的,需要用户自己组织或者聘请专业管理咨询团队来完成,请不起咨询设计公司的,完全可以请那些有行业经验的咨询设计师帮助完成,将来这样的独立咨询设计师肯定会大量出现。相反,现在好多软件开发甲方“无知的用户”基本不动脑子直接就将这项工作包给乙方,其实是对自己很不负责任的。

第二段,猿开开提出的详细设计,需要技术经理级的工程师来根据需求原型依托系统在线设计,不是写文档,是直接依托系统进行对项目的截层化拆解,拆解成小时级的接口任务或者路由任务,并且自动生成60%的代码,这些代码是可自动持续更新的。

第三段,主开发阶段,程序员在线开发、测试、验收。目前,项目实施过程中还是需要一些必要的组织管理协调工作,但对人的要求不高,软件开发基本实现了脱离对人的特别依赖。

老曾的梦想如果实现了,将改变软件开发的组织形态。

可能会重塑软件外包行业,可能会出现直接对接大客户需求的软件工厂,今天很多为大客户开发定制软件的企业可能会像IBM一样变成管理咨询公司,代码开发工作会被甩出来交给软件工厂,企业的员工数量会大量减少。

可能会颠覆企业的软件开发部,我刚见过一个偏技术公司的老板,我和他讲,“估计将来他只需要雇佣和他经常在一起开会的人,重点在需求原型、详细技术设计和把控,大多数的程序员都可以远程在线按用付费。

可能会产生大量的自由独立开发者,不需要依附在开发企业,不需要非得在北上广漂着,有根网线有个电脑,就可以插拔式的加入项目开发之中,有行业积累的可能会成为优秀的技术创客。猿开开最终希望成为软件开发行业的滴滴,创建自己的应用开发生态。

老曾的梦想如果实现了,云计算又将迈出一大步,迈入DaaS新时代。

 

本文理解起来可能不是太容易,有兴趣的话可参考我前面写的两篇文章:

《软件工程搞了50年,作坊式软件开发的出路在哪里?》请点击

《软件外包为什么总是陷入算计扯皮的烂泥坑?出路在哪里?》请点击