什么是软件开发中的 green field 和 brown field 模式 - 绿地开发和棕地开发
今天我在閱讀一篇文章時(shí),看到了一個(gè)詞匯:greenfield approach,這個(gè)詞匯和 migration 相對(duì)應(yīng)。
這是兩種不同的軟件開(kāi)發(fā)模式。
隨著軟件成為最快、最具活力的行業(yè)之一,它要求開(kāi)發(fā)人員使用適當(dāng)?shù)能浖_(kāi)發(fā)工具和方法來(lái)開(kāi)發(fā)滿足現(xiàn)代企業(yè)不斷增長(zhǎng)的需求的產(chǎn)品。綠地和棕地軟件開(kāi)發(fā)是開(kāi)發(fā)尖端軟件的兩種方法。
What is Greenfield Software Development?
綠地軟件開(kāi)發(fā)是指為全新環(huán)境開(kāi)發(fā)系統(tǒng),需要從頭開(kāi)始開(kāi)發(fā)——沒(méi)有遺留代碼。這是一種在您重新開(kāi)始并且沒(méi)有限制或依賴關(guān)系時(shí)使用的方法。
如今,純綠地項(xiàng)目非常罕見(jiàn),您經(jīng)常最終會(huì)交互或更新一些現(xiàn)有代碼或啟用集成。 Greenfield 軟件開(kāi)發(fā)的一些示例包括:從頭開(kāi)始構(gòu)建網(wǎng)站或應(yīng)用程序、建立新的數(shù)據(jù)中心,甚至實(shí)施新的規(guī)則引擎。
綠地軟件開(kāi)發(fā)的優(yōu)勢(shì)
- 提供從頭開(kāi)始實(shí)施最先進(jìn)技術(shù)解決方案的機(jī)會(huì)
- 為軟件開(kāi)發(fā)提供一個(gè)全新的平臺(tái)
- 無(wú)需在現(xiàn)有系統(tǒng)或基礎(chǔ)設(shè)施的限制下工作
- 與現(xiàn)有軟件、先入為主的概念或現(xiàn)有業(yè)務(wù)流程沒(méi)有任何依賴性或聯(lián)系
綠地軟件開(kāi)發(fā)的缺點(diǎn)
- 沒(méi)有明確的方向,風(fēng)險(xiǎn)程度相對(duì)較高
- 由于需要定義新系統(tǒng)的所有方面,因此可能非常耗時(shí)
- 有這么多可能的開(kāi)發(fā)選項(xiàng),可能沒(méi)有清楚地了解要采取的方法
- 在合適的時(shí)間范圍內(nèi)讓每個(gè)人都參與做出關(guān)鍵決策可能很困難
What is Brownfield Software Development?
Brownfield 軟件開(kāi)發(fā)是指在現(xiàn)有或遺留軟件系統(tǒng)存在的情況下開(kāi)發(fā)和部署新的軟件系統(tǒng)。 棕地開(kāi)發(fā)通常發(fā)生在您想要開(kāi)發(fā)或改進(jìn)現(xiàn)有應(yīng)用程序時(shí),并迫使您使用以前創(chuàng)建的代碼。
因此,任何新的軟件架構(gòu)都必須考慮并與現(xiàn)有系統(tǒng)共存——以增強(qiáng)現(xiàn)有的功能或能力。 Brownfield 軟件開(kāi)發(fā)的示例包括:向現(xiàn)有企業(yè)系統(tǒng)添加新模塊、將新功能集成到早期開(kāi)發(fā)的軟件中或升級(jí)代碼以增強(qiáng)應(yīng)用程序的功能。
Brownfield 軟件開(kāi)發(fā)的優(yōu)勢(shì)
- 提供一個(gè)從預(yù)定方向開(kāi)始的地方
- 提供對(duì)現(xiàn)有技術(shù)解決方案進(jìn)行改進(jìn)的機(jī)會(huì)
- 支持使用定義的業(yè)務(wù)流程和技術(shù)解決方案
- 允許重用現(xiàn)有代碼以添加新功能
Brownfield 軟件開(kāi)發(fā)的缺點(diǎn)
- 需要對(duì)需要在其上構(gòu)建新系統(tǒng)的現(xiàn)有系統(tǒng)、服務(wù)和數(shù)據(jù)有透徹的了解
- 可能需要重新設(shè)計(jì)現(xiàn)有復(fù)雜環(huán)境的很大一部分,以便它們對(duì)新的業(yè)務(wù)需求具有操作意義
- 需要詳細(xì)準(zhǔn)確地了解現(xiàn)有業(yè)務(wù)和IT的約束條件,這樣新項(xiàng)目才不會(huì)失敗
- 處理遺留代碼不僅會(huì)減慢開(kāi)發(fā)過(guò)程,還會(huì)增加整體開(kāi)發(fā)成本
Comparison Overview of Greenfield and Brownfield Software Development
哪個(gè)更適合您:綠地或棕地軟件開(kāi)發(fā)?
軟件是每個(gè)產(chǎn)品或服務(wù)的核心。因此,選擇正確的開(kāi)發(fā)方法對(duì)于軟件的成功至關(guān)重要。由于綠地軟件開(kāi)發(fā)具有更高的風(fēng)險(xiǎn),因此敏捷實(shí)踐通常被認(rèn)為是最好的方法;通過(guò)小迭代開(kāi)發(fā)軟件并將其交到客戶手中以獲得快速反饋,它們有助于有效處理風(fēng)險(xiǎn)。
另一方面,Brownfield 項(xiàng)目通常建立在更穩(wěn)定的基礎(chǔ)架構(gòu)上,并具有已確認(rèn)的業(yè)務(wù)流程;因此,他們不太可能面臨風(fēng)險(xiǎn)。然而,開(kāi)發(fā)工作的很大一部分用于理解和整合現(xiàn)有的業(yè)務(wù)環(huán)境,而不是交付價(jià)值。對(duì)于棕地開(kāi)發(fā),確保成功的最佳方法是使用迭代方法來(lái)改進(jìn)現(xiàn)有的邏輯和物理架構(gòu)并加速開(kāi)發(fā)、提高產(chǎn)品質(zhì)量并最大限度地減少缺陷。
盡管沒(méi)有一種方法比另一種方法更好,但取決于您是想從頭開(kāi)發(fā)新產(chǎn)品還是改進(jìn)現(xiàn)有產(chǎn)品的功能,您需要選擇正確的方法以獲得最佳結(jié)果。
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的什么是软件开发中的 green field 和 brown field 模式 - 绿地开发和棕地开发的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 将您的基于 Accelerator 的
- 下一篇: 如何给 SAP Spartacus St