Wednesday, 8 May 2019

Are Greenfield and Brownfield concepts in software projects applicable for research projects?


In software development,
Greenfield project is defined as "developing a system for a totally new environment, without concern for integrating with other systems, especially not legacy systems. Such projects are deemed as higher risk, as they are often for new infrastructure, new customers, and even new owners. For this reason, agile software development is often deemed the best approach..." (see link).
On the other hand, "Brownfield development is a term commonly used in the information technology industry to describe problem spaces needing the development and deployment of new software systems in the immediate presence of existing (legacy) software applications/systems..." (see link).

From the definitions, it can be seen that the essential difference of the Brownfield development compared to the counter part is the co-existence of the new system(s) to the old system and/or infrastructure. This is also the difference in comparison to research projects where the new research tends to aim for enhancing and potentially replacing the older findings. 

But not all research projects are breakthrough, in fact, many of them are incremental research. The new findings are actually built upon existing findings with some minor improvements. In this sense, these research projects are similar to Brownfield development.

However, the way research works is very individual and contained within separated research groups. When you start a new research even to enhance some existing findings, you do not always have access the produced materials/systems from another research groups which may not be open-sourced. In these common situations, the research projects are very similar to Greenfield developments. 

To recapitulate, many research projects have the features of both Greenfield and Brownfield developments. While they aim for generating totally new findings/systems that are breakthrough (Greenfield), they are under the constraints of existing findings/systems if those are accessible (Brownfield). Therefore, it is not always easy to have a clear distinction between Greenfield and Brownfield research projects. One way to simplify the matter is to say, if the new research projects do not need to co-exist with the existing ones or if they are totally independent from them, these research are Greenfield, while all the other ones are Brownfield.

To the extent of my knowledge, this blog post is the first public discussion on this topic. If you have any other ideas on this topic, feel free to drop your comment here.

No comments:

Post a Comment