软件工程平|别再垒代码了( 三 )


陈定玮的经历颇为传奇。他之前是台湾特种部队海豹队队员,那时候的台湾青年都有服兵役的义务。他因此经历过魔鬼式的一年训练和两年的军队紧急任务的考验。
大家都叫他 Peter ,陈定玮是 1978 年生人,在他后来读书的时候,电脑其实蛮贵的。所以开发软件的时候,会想尽办法去节省资源,比如把内存分区分片,让程序变得更优化,追求软件的最佳实践,要尽善尽美。
2016 年,各类业务需求不断,人员不断新增,项目经常赶工。
因为赶工,业务需求实现大多没有编写设计方案文档,只能靠人工点检代码;跟业务的沟通成本高,开发人员理解需求不到位就直接写代码,导致常常要返工。团队成员技术能力参差不齐,代码质量也就无法保证。
项目管理成本高,人员离职,新人接手维护时间成本高。总的来说,Peter 要在 4 个象限来回折腾。
一是技术,要负责顶层设计(选型、架构、性能),技术迭代、运维;二是人力,要做管理、沟通、招聘,还要考虑知识经验的累积;三是基础建设,包括软件,例如开发工具的选择,硬件的投入;四是质量与安全,软件既需要稳定,也需要安全,防止信息泄露、黑客攻击。
到了 2016 年底,Peter 开始反思软件工程体系管理问题,在长达一年的时间里,白天也不能影响工作,之前在深夜 12 点到凌晨 5、6 点,牺牲掉睡觉时间,他开启了飞算全自动软件工程平台研发的征程。
办公室里摆了一张小床,累了就在这里睡觉。在项目初期有一年多的时间里,80% 的时间都回不了家,导致妻子几次提出要离婚。
陈定玮和团队一做就是 4 年。目标非常宏大而直接,就是实现“全自动软件工程平台”,实现“你输入流程图,我实现自动开发、自动测试、自我运维”,告别代码,用标准化的流程操作,用托拉拽的方式实现开发。
让软件工程行业的作业方式从“人治”变成“法治”,并针对行业痛点逐一击破,实现“降低项目成本、提升开发效率、保证代码质量、简化团队管理”。
研发过程中,Peter 也一直在寻找是否有合适的对标产品,这样可以不用重复造轮子。但是他发现大部分的低代码工具都是更偏向于前端开发,而不是后端微服务的领域。
这样造成了这些工具一般只能完成固定类型的工作场景,比如做客户关系管理软件(CMS),或者项目管理系统,或者问卷调查,简易收集数据。
还有一类通过可视化工具为业务系统建模,产生业务描述文件,通过解析器直接解析业务描述文件运行。但做不到封装成组件,只能算作低代码,并不能完全实现零代码。
最开始的时候,团队对这个项目是非常明显的抵触的态度,因为这个项目的研发的结果就是“代码消失”,而“代码消失”,则等于取代了他们一部分的工作。
最开始的时候 Peter 只能单打独斗,大家都不理解,只能不断地做思想工作,告诉他们不要沉浸下反复的敲代码当中,做个低价值的“码农”,而是要干掉自己,从敲代码的工作中解脱出来,去思考更高层面的事情。
其实有的时候,说敲代码也谈不上,因为网上可以搜到各种各样的开源代码。遇到一些小功能模块,拷贝黏贴变成了常态。
用开源代码是把双刃剑。它节省了开发成本,却使得开发人员得以偷懒,知其然不知其所以然。
这样造成几个影响,一是连 CTO 也搞不清究竟有多少代码是自己团队开发人员写的,有多少又是开源来的,造成了软件的知识产权问题;二是开源代码一开始可以运行,但是遇到大并发这种情况,系统是否扛得住;三是代码的安全问题,比如是否有SQL注入等问题。
对于需要高并发、稳定、安全的企业应用,比如银行信息安全要求高的客户,系统崩溃将会是大的灾难。而软件开发企业,一旦因为代码质量管控能力不够,失去这样的客户,对公司将是声誉的大灾难。
想要解决这些问题,只能从根本出发,彻底消灭掉代码,不仅要做到前端,而且还要做到后端的微服务开发,个中的难度,只有一次次的实践,保持初心,坚持不懈。
软件工程平|别再垒代码了
文章插图
(图为格力电器董事长兼总裁董明珠)
飞算全自动软件工程平台
2017 年 - 2020 年,飞算全自动软件工程平台在不断的迭代,确定解决方案。
其中有几个重要的里程碑,0.8 版本上线时,完成一个创新产品,并落地实施。0.9 版本上线时,功能更加完善,易用性大幅提升。1.0 版本上线时,全面提升了软件工程能力与实践,开始打造可信的高质量产品。