布朗菲爾德VS格林菲爾德的發展? (Brownfield vs Greenfield development?)


問題描述

棕地與綠地開發? (Brownfield vs Greenfield development?)

這不是一個有準確答案的問題(嚴格來說,最好通過民意調查獲得答案,但該功能不可用),但我真的對答案很感興趣,所以無論如何我都會問。

在你的職業生涯中,你花了多少時間在greenfield 開發與 brownfield 相比?

在過去的 10 年中,我估計我在綠地上花費了 20%,在棕地上花費了 80%。這是典型的嗎?


參考解法

方法 1:

I think it's typical for professionals who deal with customers to spend more time in brownfield development. The reason is that customers typically aren't willing to throw out their existing software to adopt the "latest and greatest" (green) software.

Developers in research or academics, however, may be more likely to do greenfield development. Start‑ups as well.

方法 2:

I think that your ratio 20:80 is representative of many/most developers. As to new development: if you are building software incrementally (Scrum, XP, etc) then one could argue that you spend almost all of your time in brownfield development. Except for the initial iteration/exploratory work, prototyping, even when you are building something new, you are already working on an established code base, refactoring and extending. So how much greenfield development is actually green?

方法 3:

Often the problem doesn't just boil down to brownfield vs greenfield. In some cases there is a valid opportunity for a hybrid greenfield/brownfield approach.

I have written an article called "Classic software mistakes: To Greenfield or Refactor Legacy Code" which discusses this exact subject and outlines a range of possible combinations then evaluates the consequences of each.

http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield‑or‑refactor‑legacy‑code‑base.html

What may surprise some people is that a non technical attribute, company size, will be a big determinant in the choice of strategy and the likelihood of success of that strategy.

方法 4:

Over the past decade or so, I've always worked on software that was used as the center of my company's business. (Both SaaS and a software product.) And while I've always come into the with an existing system (so brownfield), we've usually put out a ground‑up redesign/rewrite (so greenfield.) So, to break to down:

  • about 60/40 brown/green for the big projects, in number
  • about 20/80 brown/green for the big projects, in time spent on them
  • and nearly 0/100 brown green for little side projects

So, that is seems to be the opposite of you. It is the nature of the companies I've sought out, and hence the projects. My software is our company's main product, and that means I work on the same code base for years, usually after having created it from scratch myself/ourselves.

And I like it that way.

(by John ChanningChris GillumJim BirdVolksmanStu Thompson)

參考文件

  1. Brownfield vs Greenfield development? (CC BY‑SA 2.5/3.0/4.0)

#projects #sdlc






相關問題

Netbeans 運行我所有的項目 (Netbeans runs all my projects)

Cara berbagi konfigurasi antara Dua atau lebih lingkungan TRAC (How To share configurations between Two or more TRAC environments)

Visual Studio 2005安裝程序項目安裝在終端服務器上崩潰 (Visual Studio 2005 Setup project install crashes over Terminal Server)

XCode 項目詳情? (XCode Project Details?)

Visual Studio 2005項目選項 (Visual Studio 2005 Project options)

布朗菲爾德VS格林菲爾德的發展? (Brownfield vs Greenfield development?)

NodeJS 中復雜系統的架構方法 (Architectural approach to complex system in NodeJS)

使用Wiki作為中央開發項目存儲庫 (Using a wiki as a central development project repository)

開發 Web 服務器的技巧 (Tips for developing a web server)

Visual Studio 解決方案/項目組織 (Visual Studio solution/projects organization)

為什麼我的項目在沒有變化的情況下構建? (Why do my projects build when there are no changes?)

如何使用開源項目改進我的 C++ (How to improve my C++ with open source projects)







留言討論