序1 好软件是设计出来的
与李老师相识十年,十年磨一剑,总算等到亮剑的这一刻了。
众所周知软件行业的开发效率是很低的,不仅培养高水平的需求分析和设计人才的周期长、难度大,而且软件开发的质量水平和交付进度很大程度依赖于技术资源的多少和能力,这就严重地制约了软件行业的高质量、规模化发展。面向软件行业解决方案的应用开发和项目管理,涉及业务、应用、产品和技术等多领域的知识融合和团队协作,软件设计水平低和严重依赖开发人员的编程技术能力是导致项目失败的重要原因。软件行业能否像建设雷神山、火神山医院那样,高效地、规模化地开发软件呢?
十年前,机缘巧合与李老师相识,此时同望科技刚启动银弹谷工程,准备研发国际领先的基于无代码开发技术的新一代软件开发工具与平台,这与李老师多年研究的软件开发过程工程化的课题不谋而合。两人一见如故、相见恨晚,李老师欣然接受了我的邀请,作为同望科技总架构师,领导银弹谷工程研发团队开始了长达十年的“码农终结者”征程。
软件开发工程化涉及软件设计和编程两个方面,因此银弹谷工程的工作就从设计方法和编程技术两个方面入手:
(1)设计方法方面:李老师提出的工程化设计方法是参考了建筑业和制造业的设计模式,在传统软件工程中加入了业务设计和应用设计两个关键环节,并将分析与设计的过程标准化、结构化、流程化,大幅度降低了分析与设计工作的难度。这套方法不但提高了软件的分析和设计质量、减少了失误,而且可以用来快速地培养、提升需求分析与设计岗位人员的能力。由于按照这套方法的设计成果实现了应用架构与技术架构的完全解耦,具有非常明显的模块化特征,这也为后续无码开发提供了良好的设计输入。工程化的设计方法弥补了软件设计方面的短板。
(2)编程技术层面:在李老师领导下的银弹谷研发团队,紧跟国际领先的软件工程前沿技术和方法,研究突破性关键技术,率先成功实现无代码开发技术,发布了新一代软件快速开发工具与平台。银弹谷开发云基于无代码开发和模型驱动技术,极大地降低了面向行业应用开发的技术门槛和人员依赖,客户、项目实施和系统维护人员都能快速学会软件开发,可以不再依赖专业的软件程序员。无代码开发技术弥补了软件编程方面的短板。
Gartner在2018年的研究报告中,首次提出高生产力应用云平台概念——hpaPaaS(high-productivity application PaaS),并预计到2020年,75%的应用软件将在低代码平台中开发。hpaPaaS支持应用的快速开发、部署、运行等软件工程技术和过程一体化,低代码(Low-code)和无代码(No-code)开发是实现这一平台的关键共性技术。
10年后的今天,低代码开发平台已然成为软件工程的“银弹”,作为突破性关键技术的无代码开发工具与工程化设计体系相结合,形成了不同于传统的软件开发模式,为彻底打破长期阻碍软件产业高速发展的瓶颈摸索出了一条全新的道路,这将对软件工程的进化产生深刻和长久的影响。
“被终结的码农”路在何方?答案就在本书中,好软件靠设计不靠编,码农们要走向软件工程的更高层次!本书可以助力码农成长为软件行业的“工程师”“设计师”。
本书是李老师毕生研究和项目经验的积累,理论知识体系完善,业务设计和应用设计的内容在银弹谷开发云项目中获得了成功的验证和升华。本书内容不仅适用于传统开发技术项目,也为低代码开发平台的软件工程翻开了新的篇章,作为一本理论知识和作业指南,对软件过程中的各个岗位都有很好的学习和借鉴价值,故强烈推荐。
同望科技股份有限公司董事长 刘洪舟