What are green and brown applications?

I read the following sentence in the Fluent NHibernate wiki :

...; however, for most applications using new applications (and even a few brown fields), automatic matching will be more than capable.

What are green and brown margin apps?

+55
language-agnostic terminology
Sep 22 '09 at 12:58
source share
6 answers

Greenfield

in other disciplines, such as software development, the new field is also a project in which there are no restrictions imposed by previous work. The analogy is related to construction on land where there is no need to remodel or destroy the existing structure.

(from http://en.wikipedia.org/wiki/Greenfield_project )

Brownfield

Brownfield development is a term commonly used in the IT industry to describe problem spaces requiring the development and deployment of new software systems in the direct presence of existing (outdated) software applications / systems. This means that any new software architecture must take into account and coexist with real-time software already in place.

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

+75
Sep 22 '09 at 13:03
source share

I think this may be due to the urban planning conditions of greenfield land and brown field land . Land land is undeveloped land - agricultural, landscaped or natural. Brownfield Land is a developed land.

A brown box application is an existing application, while a new application is an application that has not yet been created or is at a very early stage of development.

+7
Sep 22 '09 at 13:01
source share

Greenfield applications: a new development, without preliminary work, which creates restrictions on your decision. I think the term comes from un "unplowed, green" field.

Brownfield: existing application, many existing things to consider, etc.

See this post .

+3
Sep 22 '09 at 13:02
source share

I would suggest that this is an analogy to building

  • a whole greenfield site - i.e. new project starting from a new software project from scratch
  • A brownfield site is one where existing structures must first be dismantled, i.e. build as part of an existing software project
+1
Sep 22 '09 at 13:02
source share

Based on what I know about James Gregory (the guy behind Fluent NHibernate), I think the Wikipedia entry for the brown field is a bit on the theoretical side. In Brownfield Application Development , we define it as:

a project or code base that was previously created and may be contaminated with bad practice, structure and design, but has the potential to revive comprehensive and targeted refactoring

Short version: an existing project that needs work, but is still actively developing (unlike most legacy systems).

+1
Sep 23 '09 at 1:16
source share

There is much controversy surrounding a companyโ€™s decision with a greenfield or brownfield code or an outdated refactoring code.

A decision must be made taking into account many factors - not least of the available means for developing a new application. In many cases, an outdated application represents the current cache of the company, and any replacement of a new code at the same level will not lead to one red dollar until it is fully developed and in the hands of the first payment client.

While most software developers prefer START NEW GREENFIELD PROJECT because they usually hate OPC (Other People Code), it may not always be in the company's long-term financial form.

I wrote an article that analyzes the risks associated with new projects, based on very real experience in the company that I worked on more than 20 years ago (showing my age now;). You can read it here:

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

+1
Sep 11 '12 at 9:14
source share



All Articles