低代码如何支持敏捷软件开发
作者 张先宏,博士,西门子汽车行业技术总监。2004年至今,担任西门子工业软件汽车行业技术总监,高级软件工程师,数字化解决方案资深专家。熟悉数字化转型及数字化工业软件解决方案,并支持完成了数个重要项目,先后担任过船舶行业、航天兵器行业及汽车行业技术总监,现主要支持汽车行业数字化及新能源电池行业数字化转型工作。
本文解释了配备正确的低代码平台的组织如何提高每个敏捷开发的成功率,无论是快速原型还是构建与核心后台系统集成的多渠道体验的复杂项目。
敏捷开发是一个术语,用于描述以一种流动的、不断发展的方式构建软件解决方案的方法,而不是从一开始就固定在一个详细的、僵化的规范中。这是一种项目管理方法,主要关注一到四周的短期开发周期,称为“sprint”,其想法是,在每个冲刺结束时,可以向利益相关者展示软件开发的进展,以获得反馈。这有助于确保开发工作符合需求,并最终符合业务目标。小问题不变成大问题,故障风险大大降低,为用户和业务提供良好结果的概率大大增加。快速开发变革性应用程序需要快速实验、频繁的迭代以及业务和IT之间的密切协作。
敏捷方法论的指导思想是2001年出版的《敏捷软件开发宣言》(Manifesto for agile Software Development),17位领先的软件开发人员为敏捷软件开发定义了12条原则,他们宣称,从他们自己的软件开发经验中,他们学会了重视四条成功的首要规则,我们可以将其解释如下。
过程和工具上的个人与交互
规则和实践需要保持在最低限度,特别是与传统瀑布式开发过程相比,并且应该能适应各种情况。真正的重点必须是使各种类型的开发人员能够相互协作以及与业务协作,以便快速做出决策并适应不断变化的需求。
软件第一,文档第二
尽管交付软件的文档编制无疑是重要的,但创建它应该被视为次要的,并且不得妨碍开发人员的精力、流程和精力。在任何情况下,敏捷都是一种迭代和不断发展的方法,因此让软件满足用户不断发展的需求是首要的,而不是创建详细的文档,而这些文档无论如何都需要不断编辑才能与软件的不断发展相结合。
与客户持续协作
合同可以很好地列出客户(或用户)的感知需求。但为客户提供成功开发的关键不是不断参考合同要求,而是鼓励积极参与,并利用客户的领域知识来帮助确保最终交付的解决方案实现其预期目标。有效的合作需要持续地沟通、分享想法和反馈。
响应变化胜过遵循计划
变化应该是预期的,每个应用程序开发都应该支持迭代方法:持续而不是一次性规划,要持续测试和持续集成。如果时间和资源被有效地部署,就需要有意愿考虑变化以满足不断发展的目标,并提前知道需要变革。
低代码平台如何支持敏捷开发
最有可能的是,开发团队以某种形式实践敏捷。但是,尽管敏捷强调协作和促进协作的方法,但仅仅依靠方法论是不够的。还需要如下要素。
业务与IT协作
业务部门及其用户通常不理解应用软件代码,代码是一种只有程序员才使用的语言。缺乏共同语言会限制跨部门合作,抑制思维过程,并使交流反馈变得困难。这会挫败敏捷的雄心壮志,并破坏成果。但有一个解决办法。正确的低代码平台能够帮助参与者克服沟通障碍,更轻松地进行协作,从而为成果做出重大贡献。
社交协作
社交协作工具为您的整个团队创建了一个共享空间,以便与项目进行沟通并保持最新。在设计思维的背景下,团队在工件上进行共享和协作(例如人物角色和旅程地图),以及通过民意测验征求反馈。
即时的应用共享
通过即时预览和共享实时工作应用程序,进一步增强协作能力。这使得最终用户能够在应用程序开发过程中尽早并经常看到应用程序并对其做出反应,从而鼓励持续反馈和快速迭代。
敏捷项目管理能力
建议寻找一个具有内置敏捷项目管理功能的低代码平台。虽然可以与第三方工具集成,但以开发人员为中心的工具通常使用起来相当复杂,限制了业务用户的参与。
项目管理门户
一个易于使用的项目门户使整个团队能够轻松地在整个敏捷开发过程中创建用户场景、协作和交流。
用户场景
方便业务用户使用,有助于与业务涉众协作,以捕获、优化用户需求并确定其优先级,规划冲刺和未来版本;并管理各种积压工作。
共享项目空间
为整个团队创建共享项目空间,并定义个人角色(例如产品所有者、scrum管理员、开发人员、用户)。
整个应用程序生命周期的可追溯性
定义用户场景后,将场景附加到开发的特定部分,记录开发进度、版本控制、更新、修订和测试用例,直到生产。
可视化低代码开发
低代码平台提供了一个可视化的开发环境,而不是基于代码的开发环境。使用可视化模型,开发团队成员和业务用户可以轻松地创建和审查功能,提供反馈,验证假设,并确定应用程序的改进。人们可以很容易地交换想法,创造性地工作与更快速的实验。
通用可视化语言
因为整个团队都很容易理解可视化模型,所以可视化模型有助于开发人员和业务部门之间的持续协作。在任何时候,甚至在流程的早期,他们都可以坐在一起讨论和审查功能,收集反馈,验证假设,并确定改进。
快速迭代
由于开发速度如此之快,应用程序可以立即预览,因此低代码平台可以实现快速迭代。开发人员可以根据用户反馈实时进行更改,不断迭代以获得所需的结果。
公众开发者友好
可视化开发“拖放”环境允许具有有限或没有编码技能的面向业务的开发人员将其领域专业知识贡献给应用程序构建过程,而更多的技术开发人员提供更复杂的逻辑。
可重用组件
能够在创建应用程序组件时捕获它们,并将它们保存到重用库中,从而提供了一个随时可用的组件库,用于加速未来的应用程序构建。
Automated testing自动测试
敏捷环境的低代码平台还应该包括一个自动化测试套件,提供一套全面的工具,用于根据应用程序的用户场景创建、重构和自动化可重用的端到端测试。
与用户场景相关
作为开发生命周期的一部分,允许自动定义、编码和测试每个场景。
工具范围
易于与第三方测试工具集成,包括UI测试。
连续测试
应该可以在应用程序开发过程的任何阶段使用自动化测试和质量监控,而不是固定在特定的开发阶段。
分阶段部署
如今的IT组织需要实施DevOps最佳实践,将开发、测试、运营和业务线利益相关者结合在一起,以促进其应用程序组合的持续集成、应用程序监控和交付。
持续集成
将更新集成到共享存储库中,自动化构建应用和测试以快速发现和解决问题。
CI/CD工具
通过开放API构建应用的持续集成/持续开发工具。
云部署
能够部署到任何云中是敏捷环境低代码平台的一个基本要素。
云原生环境
该平台应该是云原生的、无状态的,并且支持容器化。云可移植性对于将应用程序轻松安装和自动部署到目标环境以进行测试、验收和生产(作为CI/CD流程的一部分)至关重要,一旦投入生产,就需要快速进行更改。
用户闭环反馈
将业务用户的输入作为开发周期的一部分,并将其反馈到用户场景中,从而形成一个迭代循环。
应用重启
在收到用户对应用程序元素的反馈后定义哪些元素将有助于场景进展,下一个sprint之后可以将反馈精确地连接到需要进一步迭代的应用程序元素。
嵌入式反馈
小部件使用户能够直接在应用程序中提供即时反馈。反馈分为想法、bug或增强,包括来自用户的评论以及平台自动捕获的元数据。
结论
人们普遍认为,如果使用得当,敏捷开发可以为应用软件开发项目带来积极的成果。事实上,Standish小组的研究表明,特别是对于中型和大型项目,敏捷项目的失败率是瀑布式项目的一半。
然而,尽管利益相关者、用户和IT之间的协作是敏捷的核心,但业务团队和开发人员倾向于思考和使用不同的语言。低代码平台在大部分开发工作中使用可视化模型来克服这一障碍,使相关各方能够查看正在进行的工作、分享想法和反馈。最好的平台Mendix为整个应用程序生命周期提供了一套全面、集成的工具,从构思和开发到部署和操作。通过低代码方法,可以通过迭代过程开发应用程序,以满足用户不断变化的需求和组织对数字创新的需求,从而提高用户接受度和投资回报率。
更多信息,请访问以下链接:
Mendix官网:低代码应用开发平台 - 快速高效地构建应用 | Mendix
Mendix中国论坛:Mendix开发者论坛-加入Mendix开发者论坛,一起引领创新。
Mendix行业解决方案:Low-Code Solution Gallery | Customizable Solutions For Every Industry
低代码应用程序开发平台评估指南 | Mendix 评估指南
Mendix动画展示:Application Development Demos – Mendix Low-Code Platform
感谢阅读!
低代码如何支持敏捷软件开发相关推荐
- 低代码平台在ERP软件开发中的作用
很多人认为低代码开发平台的出现颠覆了传统的软件开发模式,对软件开发行业造成冲击,其实低代码开发平台的出现只是提高了软件开发的效率,并不是要颠覆软件开发的模式.低代码平台在ERP软件开发中的作用还是比较 ...
- 多元化时代敏捷软件开发的崛起与传统软件工程的延续
多元化时代敏捷软件开发的崛起与传统软件工程的延续 1.传统软件开发模式 1.1瀑布模型 1.1.1概念 瀑布模型,顾名思义,软件开发的过程如同瀑布飞流一般,自上而下,逐级下落.瀑布模型的核心思想是 ...
- 敏捷软件开发--敏捷宣言
敏捷软件开发宣言 我们正在通过亲身实践以及帮助他人实践,提示更好的软件开发方法. 通过这项工作,我们认为: 人和交互 重于 过程和工具 可以工作的软件 重于 面面俱到的文档 ...
- 读《Scrum敏捷软件开发》笔记
读<Scrum敏捷软件开发>笔记 目录 读<Scrum敏捷软件开发>笔记 第I部分 启动 第II部分 个体 第iii部分 团队 第四部分 组织 第四部门 下一站 第I部分 启动 ...
- 敏捷软件开发的12个原则
作为一个软件工程师,软件设计和开发是最重要的技能,但是,从整个产品的角度上讲,项目管理能力比开发能力更重要,本文摘自Robert大叔的<敏捷软件开发>,粗体是Robert大叔的话,细体是我 ...
- 敏捷软件开发(Agile Software Development)简介之:什么是敏捷软件开发?
http://www.ruby-lang.org.cn/read--tid-604.html 敏捷软件开发(Agile Software Development)简介之:什么是敏捷软件开发? 本文部分 ...
- 软件工程---3.敏捷软件开发
敏捷软件开发 极限编程(XP, Beck1999) Scrum方法(Schwaber and Beedle 2001) DSDM方法(Stapleton 2003) 敏捷软件的开发宣言 个体和交互胜过 ...
- 用天翎低代码做办公协同软件,简单高效
编者按:在数字办公流行的现在,办公协同软件是企业必备.本文分析了办公协同软件的作用,并指出了基于低代码平台实现的办公协同软件可以很好地满足企业需求,最后进行了相关案例展示. 关键词:私有化部署,数据整 ...
- 低代码:正在改变软件的开发方式
本文分享自华为云社区<HDC.Cloud2021|低代码:正在改变软件的开发方式>,原文作者:灰灰哒 . 从2016年开始,低代码突然进入快速发展阶段,市场容量不断扩大.根据主流分析师和市 ...
最新文章
- 如何设置putty远程登录linux
- java Class类与反射
- 随笔-tomcat的日志文件按日期每天生成
- 【问题解决】微软OneNote使用笔记,Ditto解决OneNote复制粘贴文本输出图片问题
- 深度学习核心技术精讲100篇(七十九)-深度学习应用实战案例:携程金融自动化迭代反欺诈模型体系
- 深入分析几种PHP获取客户端IP的情况
- zigbee 初识zigbee,ieee802,论坛
- jQuery 的常用选择器,筛选器
- oauth2和jwt_OAuth2,JWT,Open-ID Connect和其他令人困惑的事物
- Windows数据库编程接口简介
- cnn文本分类python实现_CNN文本分类
- 通用数据链接(UDL)的用法
- 堆排序(Java语言实现)
- php实现小偷程序,PHP小偷程序的设计与实现示例
- 系统设计=基于表面肌电信号的不同手势识别【MATLAB】
- 云计算认证系列:CKA认证
- 巴克莱分析师:今秋新iPhone外观设计与2018年款非常相似
- stylegan2报错“undefined symbol: _ZN10tensorflow12OpDefBuilder6OutputESs”的解决方案
- 【opencv】【python】libpng warning: iCCP: known incorrect sRGB profile 解决
- Java -- SQL注入
热门文章
- php图片重复的,很强的PHP图片处理类
- MFC函数之BitBlt
- Python之源码安装python3.10及有道词典依赖PyQt5问题(二十三)
- Matlab中加法器是什么,加法器,加法器是什么意思
- 1045 Favorite Color Stripe(30分)-PAT甲级
- 图像处理-阈值分割方法汇总
- alin的学习之路(数据库篇:五)(MySQL的相关语句及API的C语言实现)
- 托福阅读专项 // Part1 basic comprehension // U1 vocabulary:biology sociology literature——skill drill
- HTML+CSS+JS详解
- iOS:2015年07月最新苹果IOS上架App Store商店步骤