当前位置:网站首页>什么是软件开发中的 green field 和 brown field 模式 - 绿地开发和棕地开发
什么是软件开发中的 green field 和 brown field 模式 - 绿地开发和棕地开发
2022-07-02 14:54:00 【华为云】
今天我在阅读一篇文章时,看到了一个词汇:greenfield approach,这个词汇和 migration 相对应。
这是两种不同的软件开发模式。
随着软件成为最快、最具活力的行业之一,它要求开发人员使用适当的软件开发工具和方法来开发满足现代企业不断增长的需求的产品。绿地和棕地软件开发是开发尖端软件的两种方法。
What is Greenfield Software Development?
绿地软件开发是指为全新环境开发系统,需要从头开始开发——没有遗留代码。这是一种在您重新开始并且没有限制或依赖关系时使用的方法。
如今,纯绿地项目非常罕见,您经常最终会交互或更新一些现有代码或启用集成。 Greenfield 软件开发的一些示例包括:从头开始构建网站或应用程序、建立新的数据中心,甚至实施新的规则引擎。
绿地软件开发的优势
- 提供从头开始实施最先进技术解决方案的机会
- 为软件开发提供一个全新的平台
- 无需在现有系统或基础设施的限制下工作
- 与现有软件、先入为主的概念或现有业务流程没有任何依赖性或联系
绿地软件开发的缺点
- 没有明确的方向,风险程度相对较高
- 由于需要定义新系统的所有方面,因此可能非常耗时
- 有这么多可能的开发选项,可能没有清楚地了解要采取的方法
- 在合适的时间范围内让每个人都参与做出关键决策可能很困难
What is Brownfield Software Development?
Brownfield 软件开发是指在现有或遗留软件系统存在的情况下开发和部署新的软件系统。 棕地开发通常发生在您想要开发或改进现有应用程序时,并迫使您使用以前创建的代码。
因此,任何新的软件架构都必须考虑并与现有系统共存——以增强现有的功能或能力。 Brownfield 软件开发的示例包括:向现有企业系统添加新模块、将新功能集成到早期开发的软件中或升级代码以增强应用程序的功能。
Brownfield 软件开发的优势
- 提供一个从预定方向开始的地方
- 提供对现有技术解决方案进行改进的机会
- 支持使用定义的业务流程和技术解决方案
- 允许重用现有代码以添加新功能
Brownfield 软件开发的缺点
- 需要对需要在其上构建新系统的现有系统、服务和数据有透彻的了解
- 可能需要重新设计现有复杂环境的很大一部分,以便它们对新的业务需求具有操作意义
- 需要详细准确地了解现有业务和IT的约束条件,这样新项目才不会失败
- 处理遗留代码不仅会减慢开发过程,还会增加整体开发成本
Comparison Overview of Greenfield and Brownfield Software Development
哪个更适合您:绿地或棕地软件开发?
软件是每个产品或服务的核心。因此,选择正确的开发方法对于软件的成功至关重要。由于绿地软件开发具有更高的风险,因此敏捷实践通常被认为是最好的方法;通过小迭代开发软件并将其交到客户手中以获得快速反馈,它们有助于有效处理风险。
另一方面,Brownfield 项目通常建立在更稳定的基础架构上,并具有已确认的业务流程;因此,他们不太可能面临风险。然而,开发工作的很大一部分用于理解和整合现有的业务环境,而不是交付价值。对于棕地开发,确保成功的最佳方法是使用迭代方法来改进现有的逻辑和物理架构并加速开发、提高产品质量并最大限度地减少缺陷。
尽管没有一种方法比另一种方法更好,但取决于您是想从头开发新产品还是改进现有产品的功能,您需要选择正确的方法以获得最佳结果。
边栏推荐
- The difference of message mechanism between MFC and QT
- A few lines of code to complete RPC service registration and discovery
- Nexus简介及小白使用IDEA打包上传到Nexus3私服详细教程
- 深度之眼(三)——矩阵的行列式
- Nexus簡介及小白使用IDEA打包上傳到Nexus3私服詳細教程
- Geoserver: publishing PostGIS data sources
- 酒仙网IPO被终止:曾拟募资10亿 红杉与东方富海是股东
- The poor family once again gave birth to a noble son: Jiangxi poor county got the provincial number one, what did you do right?
- 伟立控股港交所上市:市值5亿港元 为湖北贡献一个IPO
- What if the default browser cannot be set?
猜你喜欢
Weili holdings listed on the Hong Kong Stock Exchange: with a market value of HK $500million, it contributed an IPO to Hubei
Exploration of mobile application performance tools
si446使用记录(二):使用WDS3生成头文件
Jiuxian's IPO was terminated: Sequoia and Dongfang Fuhai were shareholders who had planned to raise 1billion yuan
Chapter 3 of hands on deep learning - (1) linear regression is realized from scratch_ Learning thinking and exercise answers
Sword finger offer 22 The penultimate node in the linked list
【征文活动】亲爱的开发者,RT-Thread社区喊你投稿啦
Eth data set download and related problems
剑指 Offer 27. 二叉树的镜像
Qwebengineview crash and alternatives
随机推荐
si446使用记录(一):基本资料获取
牛客JS2 文件扩展名
剑指 Offer 22. 链表中倒数第k个节点
[essay solicitation activity] Dear developer, RT thread community calls you to contribute
Vscode + eslint configuration
Domestic relatively good OJ platform [easy to understand]
13、Darknet YOLO3
宝宝巴士创业板IPO被终止:曾拟募资18亿 唐光宇控制47%股权
2、 Expansion of mock platform
Interpretation of key parameters in MOSFET device manual
Fuyuan medicine is listed on the Shanghai Stock Exchange: the market value is 10.5 billion, and Hu Baifan is worth more than 4billion
JS20 数组扁平化
AP and F107 data sources and processing
The construction of scalable distributed database cluster and the partition design of oneproxy sub database
After meeting a full stack developer from Tencent, I saw what it means to be proficient in MySQL tuning
Microservice architecture practice: Construction of highly available distributed file system fastdfs architecture
Exploration of mobile application performance tools
Blog theme "text" summer fresh Special Edition
IP address translation address segment
Meanings of SNAT, DNAT and masquerade in iptables