Greenfield is a term from the construction industry that refers to undeveloped land. In the IT world, greenfield describes a software project that is developed from scratch rather than built from an existing program. It is often contrasted with "brownfield," which describes software built from an existing program.

Greenfield software development is generally more flexible than brownfield development since a new program does not need to fit a specific mold. For example, a greenfield word processor might provide a completely new user interface and may have features not available in any previous program. Additionally, greenfield software does not need to be backwards compatible with older versions of a program. There is no need to support legacy file formats or include previous features to meet end user expectations.

While greenfield projects are open ended, developing software from scratch involves inherent risk. For example, there may not be as large of a market for a program as the developer expects. The interface may not be well-received and may need to be altered or redesigned to be more user-friendly. It make take several updates before a greenfield application is successful in the marketplace. Of course, greenfield programs that succeed often benefit from being a unique option for users until similar applications are developed.

NOTE: The vast majority of software development is brownfield, since most major software releases are updates to existing programs. However, there has been a recent surge in greenfield development thanks to the new market of mobile apps.

Updated December 18, 2015 by Per C.

quizTest Your Knowledge

Which statement about the JSON file format is false?

It is a plain-text interchange format
It is an alternative to XML
It can only be processed by JavaScript
It uses curly brackets to identify elements
Correct! Incorrect!     View the JSON definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Greenfield on this page is an original definition written by the team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.