作为一名制造企业软件内部的软件开发者,如何才能更好的助力公司的数字化转型?王嘉琪和他的团队走出了一条或许可以“复制”的道路。
王嘉琪是博世汽车电子事业部的数字化产品开发经理,他领导的团队善用 Mendix 低代码对工厂数字化项目进行规划与开发,同时也肩负着向各个生产部门的开发人员推广新技术的重任。
随着数字化转型加速和业务需求的不断增加,摆在嘉琪面前的是缩短 30% 的开发时间,同时提升 20% 的人员开发效率的目标。然而王嘉琪和他的团队深感传统高代码开发模式的边际效益越来越低,开发周期长、人力投入要求高。同时如何提升与业务部门的沟通效率,正确理解需求,也成为嘉琪一直在思考的问题。
如何带领团队走出软件开发的“沼泽地带”实现目标?低代码是嘉琪手中的一个法宝。“今年所有的软件开发,只要能用低代码,就用低代码。就算这个功能没实现过,我们也尝试用低代码。”这是嘉琪的答案。
本期客户案例,让我们一起走近王嘉琪和他所在的博世汽车电子事业部,听一听来自他们的“最强音”。
“数字驱动”的灯塔工厂
博世汽车电子事业部通过卓越品质和领先的硬件技术,致力于赋能智能化世界。生产制造各类车用电控单元;研发、制造并销售车用及消费类半导体与传感器元器件。
自 2013 年以来,汽车电子事业部作为博世在华最初实施工业 4.0 的示范基地之一,依托博世精益生产体系,从组织文化、IT 数据战略、业务应用以及人员能力四个核心领域,全方位推行并实践数字化转型策略,在制造及物流领域积极推进多种工业 4.0 的应用。
传统高代码开发成本高,难以适应数字化转型需求
作为数字化产品开发经理,王嘉琪始终在思考如何更好的拓展业务领域的数字化应用场景。
“数字化是提升效率的重要工具,也能够创造更多获利的业务运营模式和机会。我和团队既要规划和解决工厂级的数字化转型,又要满足业务部门的各种数字化需求。”
“在工厂里做软件开发,我们关注的是整个过程和其中的区别对比,而不仅仅是找到某个具体的解决方案。我们工厂有完整的数字化和软件开发团队,包括产品经理、项目经理、软件编码人员,软件测试等,每个职能部门,如人事、生产、质量、物流等,都会提出需求。在构思阶段,数字化对口人员会从业务人员那里得到需求。主要问题是针对需求的理解可视化,传统开发模式下,往往需要业务部门耗费很长的时间攥写非常详细的 PRD 文档,这个工作量巨大,且可能会持续数月之久,开发团队拿到这些需求后开始动手开发,直至开发团队完成系统的上线,这中间又需要历时数月,等到业务部门看到自己当初需求的系统时,往往可能已是半年之后,在这个时候业务部门的流程很大概率已经发生了微调或变化。”
除了这个典型的开发场景外,业务部门还存在诸多短期且急迫的短生命周期系统的需求(例如系统使用周期预计小于 12 个月);面对如上场景,嘉琪和他的团队一直在寻找一些工具,可以更高效的支持业务部门与开发团队之间的沟通。他们发现造成前面现象的主要原因在于,业务部门因为读不懂代码,所以在传统开发模式下,只能在系统开发完成后才能提供业务意见,这种“不可视”的模式大大降低了效率,低代码的工具在这里恰恰可以提供强有力的支撑,开发人员可以在 1-2 周甚至更短的时间内借用 Mendix 搭建系统界面,业务部门每周都可以跟数字化产品开发部门一起看 demo。如果期间发生业务变更,可以及时迭代,无需等到系统开发完毕再调整。
不过,即便是产品经理与业务需求方达成了一致,准备进行开发时,又会遇到新的挑战。“采用高代码开发,最低配置前端一个同事,后端一个同事,再加上测试一个同事,基本上三个开发人员需要扑在某一个项目中。有些项目比较复杂,可能需要三到五个人。每一次的需求的阐述与澄清,都会导致开发反复迭代,因为开发也是按照这个循环来,不断的再去改进,投入的时间和资源花销成本非常高。”嘉琪指出。
软件开发的核心在于设计模型,这包括数据模型和逻辑模型两大部分。数据模型与数据库表结构紧密相关,而逻辑模型则涉及数据与业务使用之间的间接实体。在传统高代码开发模式下,逻辑设计(Logic Design)这一关键环节,几乎完全依赖于编程(coding)团队完成。在设计软件模型时,团队依赖的是一篇篇详尽的文档,这些文档中包含了库、表、模型等复杂信息。然而,这种方式的缺陷显而易见:信息深藏于文档内部,并不直观,难以被非专业人员快速理解和验证。
此外,高代码开发中的组件依赖于多个不同版本的库,这可能导致冲突和高昂的推广成本。王嘉琪表示,在高代码开发中,像文件加密和权限管理等功能的实现成本较高,需要投入较多的人力和成本。
那么,面对复杂多变的需求挑战,以及高代码对人力和成本的高要求,到底有没有更好的方法和工具来从容应对呢?王嘉琪的回答是低代码这一开发工具。
全面拥抱 Mendix 低代码,实现快速上手开发
为了提升开发效率,王嘉琪带领团队主动拥抱了低代码。他强调:“我们团队 80% 的基于流程的软件项目开发都采用了低代码平台,如 Mendix,以减少对高代码开发的需求。今年的软件开发,只要能用低代码,就用低代码,就算这个功能没实现过,我们也尝试使用低代码。”
在选择低代码时,博世汽车电子事业部会根据业务复杂度、数据逻辑、算法规则、系统整合需求,以及是否需要使用先进技术(如大数据分析、机器视觉、AI 等)来决定是购买、自主开发还是以结合高低代码的方式进行。如果业务需求频繁变更,或项目处于探索阶段,低代码平台的快速迭代和变更能力使其比高代码更具优势。
为此,王嘉琪的团队今年组织了 Mendix 低代码培训。“我们邀请了业务和非数字化产品开发部门感兴趣的人员参加,六个月内共进行了五轮基础培训。通过简单的业务用例,如日常任务管理,教授如何将 Excel 表单转化为数字化应用,并部署到公司的 CICD 平台上,使业务同事能更好地理解和运用低代码技术。通过持续赋能和培训,我们希望让每一位业务人员都有能力用低代码工具快速开发原型。”
简化开发流程,低代码节省大量开发工作量
在实际开发中,低代码开发平台在简化软件开发流程上成效显著。“传统的开发流程包括业务数据建模、技术或产品设计培训、在线协作、前后端交接、API 开发、集成和测试等多个耗时且不可避免的步骤。这些步骤不仅繁琐,而且常常需要反复修改和调整,导致开发周期长和资源浪费。“
相比之下,低代码平台通过图形化编程和模型驱动的设计,使得开发过程更加直观和高效。开发人员可以利用平台内建的业务和数据模型,快速复用已有的前端组件和后端逻辑,从而减少手动编码的工作量。这种方法不仅加快了开发速度,还提高了软件质量。嘉琪表示低代码平台通常已经内置了前后端的通信规则和规范,减少了接口测试的需要。
他还提到,他们的目标是让开发团队能够以低代码平台作为工具,以便快速将想法转化为实际的功能。通过这种方式,开发流程中的迭代和沟通成本被大幅度降低,大约节省了 30% 的开发时间。
企业架构优化,深度融合低代码实现高效开发
对于博世汽车电子事业部来说,Mendix 的引入并不仅仅意味着一个开发工具的导入,而是着眼于企业应用开发架构的转型。如何能够更好的整合企业现有的软件开发能力,高效敏捷的支撑业务侧的诉求,是博世汽车电子事业部数字化产品开发团队引入 Mendix 的时候特别关注的议题。Mendix 结合该事业部的实际,规划了构建组装式业务的导入思路。目前,组装式业务架构在博世汽车电子事业部已经初见成效。具体表现在:
1. 灵活性与敏捷性:能够快速响应业务需求的变化,通过组合和重新配置现有模块,迅速构建新的业务流程和应用,适应市场的动态变化。
2. 模块化设计:将业务功能分解为独立的、可复用的模块。每个模块具有明确的边界和功能,便于独立开发、测试、部署和维护。
3. 解耦性:不同模块之间的关系松散,降低了模块之间的相互依赖,使得对一个模块的修改不会轻易影响到其他模块,从而提高了系统的稳定性和可扩展性。
4. 高效复用:充分利用已有的模块和组件,减少重复开发工作,提高开发效率,降低开发成本。
5. 快速集成:能够轻松地将新的模块或外部服务集成到现有架构中,实现快速的业务创新和扩展。
6. 可视化管理:提供直观的图形化界面,便于对业务架构进行设计、监控和管理,使业务人员和技术人员能够更好地理解和沟通。
7. 可定制性:根据企业的特定需求和业务场景,灵活定制和组合模块,满足个性化的业务要求。
8. 持续优化:可以不断评估和改进各个模块的性能和功能,实现业务架构的持续优化和演进。
Mendix 将需求可视化,支持一键轻松部署
在王嘉琪看来,Mendix 低代码的优势主要体现在需求理解可视化、快速的原型制作及需求反馈与迭代,以及减少开发成本方面。
在实际的应用开发过程中,业务需求的沟通不畅是最容易导致项目开发失败的原因。博世汽车电子事业部是一家典型的制造型组织,业务人员和数字化产品开发人员之间,如何能够准确、高效的沟通需求,确保双方对需求的理解不产生歧义,对整个项目的成败有着至关重要的作用。传统意义上来说,受制于业务和开发人员的技术背景,基于文字的方式,很难确保双方对于需求的理解一致。
引入 Mendix 以后,借助 Mendix 图形化开发的特性,业务人员和开发人员可以基于图形化的产品原型,进行业务需求的沟通,实现“一图胜千言”的效果。并且,基于 Mendix 的低代码原型构建能力,业务人员看到的,不再是一个静态“草图”,而是一个带有基本交互演示能力的产品原型。
好的开始等于成功的一半,基于 Mendix 的需求可视化,确保了数字化产品开发团队从一开始就是在做正确的事情 (Do Right Things)。准确的需求理解,可以从根本上减少业务缺陷以及项目返工。再结合低代码开发,以正确的方式进行应用开发 (Do Things Right),才能真正让开发团队事半功倍。
“使用Mendix低代码,可以更加直观地将业务需求转化为可视化模型,建立不同人员之间理解需求的桥梁,节省了需求方与开发者的沟通时间以及开发时间,同时结合基于Mendix 开发的复用性模块和组件,可以大大提高开发的速度,节省 30% 的开发时间。”相比高代码开发,低代码开发在人员需求上更为精简,不需要大量的前端、后端及测试开发人员协同工作,从而降低了开发成本。此外,低代码平台的学习成本相对较低,具备不同背景的人员都可以参与开发,提高了开发效率和灵活性。
博世汽车电子事业部目前已开发 20+个 Mendix 项目,融合 IT 与 OT 技术,覆盖生产、财务、质量、物流等核心业务领域。
借助 Mendix,博世汽车电子事业部还开发了服务数字化开发团队的持续部署和运维管理的平台工具。Mendix 在工厂软件开发中展现出显著优势,它采用容器化的多块环境作为运行基础,配合自行搭建的程序布置平台,使得软件开发的用户在发布时仅需上传并填写申请发布的流水线表单,一键点击即可,无需了解后台如何将 Mendix 部署到服务器上,也不用考虑有哪些先决条件,从而大大降低了发布成本。
Mendix 原生模块丰富,复用性更强
王嘉琪还特别强调了低代码平台,特别是 Mendix,在使用原生模块和功能方面的优势。“尽管这些原生模块可能无法完全满足用户的个性化需求,但它们为快速开发和部署提供了便利。”在开发过程中,团队会优先搜索的原生模块和 Marketplace 组件,若找不到合适的模块,他们会咨询合作伙伴或实施方,最后才会考虑定制开发。开发出的组件将被添加到公司的组件库中,以便未来复用。
“实现高代码的复用需要企业数字化产品开发团队投入充分工作量进行规划与设计。但是,我们并不是软件制造商。如果不使用低代码平台,又要试验一个组件并告诉别人怎么用,成本是非常高的。同时,在软件开发中,我们经常遇到不同版本组件库之间的冲突问题,比如A库和B库可能就不兼容。在推广时,需要解决这些冲突性问题,成本也非常高。这两个问题会导致低代码推广困难。但像Mendix这样拖拽进来就能立即使用的低代码开发平台,可以解决上述的难题。”
“我们现在借助Mendix平台,去做一些组件化的库推广给用户。Mendix内置了很多我们这种国际化公司所需的信息安全功能。比如,对于文件存储,这些文件最终会以图片或文档的形式传到我们的系统后台。像博世这样的全球企业,有严格的数据保护规定,这些文件存储都是需要加密的,根据软件定义的数据等级,如果机密性较高,就需要加密。Mendix已经实现了这些加密功能和可访问功能,包括权限管理,以及基于ID的文档保存形式,这些都是业界的最佳实践。”
总结使用 Mendix 的心得时,王嘉琪认为,Mendix 通过提供快速开发能力和强大的生态系统支持,显著提升了开发效率,并简化了开发流程。“Mendix 作为一个低代码开发工具,它能够使开发团队迅速搭建出符合软件规范和规则的整体应用。此外,得到西门子等合作伙伴及实施单位的支持,Mendix 能够助力团队快速积累公共模型和组件,从而更加便捷地开发出原型和最终系统。“