web-dev-qa-db-ja.com

グリーンフィールドおよびブラウンフィールドアプリケーションとは何ですか?

Fluent NHibernate wiki で次の文を読みました。

...;ただし、ほとんどのgreenfieldアプリケーション(およびかなり多くのbrownfieldアプリケーションも) )自動マッピングは機能以上のものになります。

グリーンフィールドおよびブラウンフィールドアプリケーションとは何ですか?

77
Svish

グリーンフィールド

ソフトウェアエンジニアリングのような他の分野では、グリーンフィールドは、事前の作業によって課せられる制約のないプロジェクトでもあります。類推は、既存の構造を改造したり取り壊したりする必要がないグリーンフィールドの土地での建設の類推です。

http://en.wikipedia.org/wiki/Greenfield_project から)

ブラウンフィールド

ブラウンフィールド開発は、既存の(レガシー)ソフトウェアアプリケーション/システムの存在下で新しいソフトウェアシステムの開発と展開を必要とする問題空間を記述するためにIT業界で一般的に使用される用語です。これは、新しいソフトウェアアーキテクチャを考慮する必要があり、既にその場でライブソフトウェアと共存する必要があることを意味します。

(from http://en.wikipedia.org/wiki/Brownfield_(software_development)

110
Bombe

都市計画の用語 "greenfield land""brownfield land" に関連していると思います。グリーンフィールドの土地は未開発の土地です-農業、造園、または自然。ブラウンフィールドの土地は開発された土地です。

ブラウンフィールドアプリケーションは既存のアプリケーションですが、グリーンフィールドアプリケーションはまだ作成されていないか、開発の非常に初期の段階にあるアプリケーションです。

12
Thomas Owens

グリーンフィールドアプリ:新規開発。ソリューションに制約をもたらす事前の作業は行われていません。この用語は「未耕起、緑」のフィールドから来ていると思います。

ブラウンフィールド:既存のアプリケーション、考慮すべき多くの既存のものなど。

この投稿を参照

3
tijmenvdk

私はそれが建物に似ていると思います

  • greenfield site is virgin ground-すなわち、新しいプロジェクト、ゼロから新しいソフトウェアプロジェクトを開始する
  • brownfield サイトは、既存の構造を最初に解体する必要があるサイトです。つまり、既存のソフトウェアプロジェクト内に構築します。
2
Paul Dixon

「グリーンフィールド」または「ブラウンフィールド」またはレガシーコードのリファクタリングを行うという会社の決定をめぐる多くの議論があります。

決定は多くの要因を考慮して行う必要があります-少なくとも、グリーンフィールドアプリケーションを開発するために利用できる資金ではありません。多くの場合、レガシアプリは会社の現在のキャッシュカウであり、レガシコードをグリーンフィールドに置き換えても、完全に開発されて最初の支払い顧客の手に渡るまで、1ドルの赤字になりません。

ほとんどのソフトウェアエンジニアは、OPC(他の人のコード)を嫌うことが多いため、START NEW GREENFIELD PROJECTを好みますが、常に会社の長期的な財務状況にあるとは限りません。

私は、20年以上前に働いていた会社での非常に現実的な経験に基づいて、グリーンフィールドプロジェクトに伴うリスクを分析する記事を書きました(今の年齢を示しています;)。ここで読むことができます:

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

2
Volksman

私がジェームズ・グレゴリー(Fluent NHibernateの背後にいる人)について知っていることに基づいて、ブラウンフィールドのウィキペディアのエントリは理論的な側面に少しあると思います。 Brownfield Application Development では、次のように定義します。

以前に作成されたプロジェクトまたはコードベース。これは、貧弱な慣行、構造、および設計によって汚染されている可能性がありますが、包括的で指示されたリファクタリングによって復活する可能性があります

ショートバージョン:作業を必要とするが、まだ活発に開発されている既存のプロジェクト(ほとんどのレガシーシステムとは異なります)。

2
Kyle Baley