Greenfield
en otras disciplinas, como la ingeniería de software, un greenfield también es un proyecto que carece de las limitaciones impuestas por trabajos anteriores. La analogía es la de la construcción en terrenos totalmente nuevos donde no hay necesidad de remodelar o demoler una estructura existente.
(de http://en.wikipedia.org/wiki/Greenfield_project )
Brownfield
El desarrollo brownfield es un término comúnmente utilizado en la industria de TI para describir espacios problemáticos que necesitan el desarrollo y la implementación de nuevos sistemas de software en la presencia inmediata de aplicaciones / sistemas de software existentes (heredados). Esto implica que cualquier nueva arquitectura de software debe tener en cuenta y convivir con el software en vivo ya in situ.
(de http://en.wikipedia.org/wiki/Brownfield_(software_development) )
Creo que podría estar relacionado con los términos de planificación urbana "terreno nuevo" y "terreno abandonado" . La tierra nueva es tierra sin desarrollar: agrícola, paisajística o natural. Los terrenos abandonados son terrenos urbanizados.
Una aplicación brownfield es una aplicación existente, mientras que una aplicación greenfield es una que aún no se ha realizado o se encuentra en etapas muy tempranas de desarrollo.
fuente
Aplicaciones totalmente nuevas: nuevo desarrollo, no se ha realizado ningún trabajo previo que suponga limitaciones para su solución. Creo que el término proviene de un campo "verde sin arar".
Brownfield: aplicación existente, muchas cosas existentes a considerar, etc.
Vea esta publicación .
fuente
Supongo que es una analogía con la construcción
fuente
Basado en lo que sé de James Gregory (el tipo detrás de Fluent NHibernate), creo que la entrada de Wikipedia para brownfield es un poco teórica. En Brownfield Application Development , lo definimos como:
Versión corta: un proyecto existente que necesita trabajo pero que aún se desarrolla activamente (a diferencia de la mayoría de los sistemas heredados).
fuente
Existe un gran debate en torno a la decisión de una empresa de 'greenfield' o 'brownfield' o refactorizar el código heredado.
La decisión debe tomarse teniendo en cuenta muchos factores, entre los que destacan los fondos disponibles para desarrollar una aplicación nueva. En muchos casos, la aplicación heredada es la fuente de ingresos actual de la compañía y cualquier reemplazo nuevo de ese código heredado no generará un solo dólar rojo hasta que se haya desarrollado por completo y esté en manos del primer cliente que pague.
Si bien la preferencia de la mayoría de los ingenieros de software es EMPEZAR UN NUEVO PROYECTO GREENFIELD porque generalmente odian el OPC (Código de otras personas), puede que no siempre sea en el largo plazo financiero de la empresa.
Escribí un artículo que analiza los riesgos que implican los proyectos greenfield basándome en una experiencia muy real en una empresa para la que trabajé hace más de 20 años (mostrando mi edad ahora;). Puede leerlo aquí:
http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html
fuente