What are greenfield and brownfield applications?
Solution 1
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))
Solution 2
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.
Solution 3
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.
Solution 4
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
Solution 5
Based on what I know of James Gregory (the guy behind Fluent NHibernate), I think the Wikipedia entry for brownfield is a little on the theoretical side. In Brownfield Application Development, we define it as:
a project, or codebase, that was previously created and may be contaminated by poor practices, structure, and design but has the potential to be revived through comprehensive and directed refactoring
Short version: An existing project that needs work but is still actively developed (unlike most legacy systems).
Related videos on Youtube
Lemon
Software Developer, Geek, HSP, SDA, ..., open, honest, careful, perfectionist, ... Currently into indoor rowing and rock climbing, just to mention something non-computer-related... Not the best at bragging about myself... so... not sure what more to write... 🤔
Updated on July 08, 2022Comments
-
Lemon almost 2 years
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?
-
Lemon over 14 yearsMakes a lot of sense at least. But how would you get a brownfield application? Isn't applications built from scratch originally? When does it become brownfield?
-
Jeremy Bourque over 14 yearsA brownfield application usually refers to a major upgrade, or a redevelopment of an existing application where there are issues backwards compatibility to existing file formats, interfaces, modules, etc. Sometimes a brownfield application will be made greenfield by deciding to ignore all considerations of backwards compatiblity and start fresh.
-
APC over 14 yearsBrownfield would be a major enhancement or less-than complete rewrite of an existing live application. In other words, legacy code.
-
Mikeon over 14 years"Fortunately Google was not down for me so I was able to find the following definitions within mere seconds." - Exactly why is this statement needed? I can sort of understand your being annoyed by a 'simple' question and adding this out of frustration or something, but why add the statement back after it's been removed?
-
Rob Bell over 13 yearsI agree with @AgentConundrum. This is now the second result that Google returns. Lose the remark.
-
Bombe over 13 yearsIt’s because I am still of the opinion that people need to learn to use Google before trying other things. You know, giving a man a fish vs. teaching a man to fish.
-
Robin Day over 11 years@Bombe are you not aware that it is content that populates google? Therefore you need the answers somewhere in order for them to be found on google... You found the wiki article on google, but if google had the answer then why would the wiki article have needed writing?
-
Ibsonic over 9 yearsFunny thing is. I found this now, through Google. First link. ;)
-
Granger over 2 years...which feels so backwards in my mind. When I think of a "brown field", I think "dirt, un-plowed, unorganized"; by the time a field is brown, it's often best to start over. And by extension, a "green field" would be the one where things are growing already. Something living is already growing and thriving there, and it may have even been landscaped; you need to be careful of changes you make or you'll destroy something that's already working. But it is what it is; like how we drive in a parkway and park in a driveway. :)
-
Chris Maggiulli almost 2 yearsWhat would you consider a project whose purpose is to replace an old system, but is built on drastically different technologies with drastically different functional requirements. The only remnants of the prior system is data that was transformed to match the new object model?