Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are greenfield and brownfield applications?

I read the following sentence in the Fluent NHibernate wiki:

...; however, for most greenfield applications (and quite a few brownfield ones too) auto mapping will be more than capable.

What are greenfield and brownfield applications?

like image 661
Svish Avatar asked Sep 22 '09 12:09

Svish


People also ask

What does greenfield and brownfield mean?

A greenfield project is one that lacks constraints imposed by prior work on the site. Typically, what a greenfield project entails is development on a completely vacant site. Architects start completely from scratch. A brownfield project is one that carries constraints related to the current state of the site.

What is greenfield application development?

What is Greenfield Software Development? Greenfield development refers to developing a system for a totally new environment and requires development from a clean slate – no legacy code around. It is an approach used when you're starting fresh and with no restrictions or dependencies.

What is greenfield and brownfield in software development?

A greenfield project is a new project that starts from scratch. Whereas, a brownfield project has already gotten worked on by people. A brownfield project now gets handed off to new people who can complete it.

What is the difference between brownfield and greenfield sites?

Brownfield sites are typically located in urban areas because they've previously been built upon. On the other hand, greenfield sites have never been built on and can be found in the countryside or rural areas.


4 Answers

Greenfield

in other disciplines like software engineering, a greenfield is also a project which lacks any constraints imposed by prior work. The analogy is to that of construction on greenfield land where there is no need to remodel or demolish an 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 needing the development and deployment of new software systems in the immediate presence of existing (legacy) software applications/systems. This implies that any new software architecture must take into account and coexist with live software already in situ.

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

like image 83
Bombe Avatar answered Jan 04 '23 16:01

Bombe


I think it might be related to the urban planning terms "greenfield land" and "brownfield land". Greenfield land is undeveloped land - agricultural, landscaping, or natural. Brownfield land is developed land.

A brownfield application is an existing application, while a greenfield application is one that is not yet made or is in very early stages of development.

like image 43
Thomas Owens Avatar answered Jan 04 '23 17:01

Thomas Owens


Greenfield apps: new development, no prior work done that poses constraints on your solution. I think the term comes from un "unplowed, green" field.

Brownfield: existing application, lots of existing stuff to consider, etc.

See this post.

like image 26
tijmenvdk Avatar answered Jan 04 '23 18:01

tijmenvdk


I would guess it's an analogy to building

  • a greenfield site is virgin ground - i.e. a new project, starting a new software project from scratch
  • a brownfield site is one where existing structures need to dismantled first, i.e. building within an existing software project
like image 42
Paul Dixon Avatar answered Jan 04 '23 17:01

Paul Dixon