그린 필드 및 브라운 필드 애플리케이션이란 무엇입니까?


90

Fluent NHibernate 위키 에서 다음 문장을 읽었습니다 .

...; 그러나 대부분의 그린 필드 애플리케이션 (그리고 꽤 많은 브라운 필드 애플리케이션 도)의 경우 자동 매핑이 가능한 것 이상입니다.

그린 필드 및 브라운 필드 애플리케이션이란 무엇입니까?

답변:


133

Greenfield

소프트웨어 엔지니어링과 같은 다른 분야에서 그린 필드는 이전 작업에 의해 부과 된 제약이없는 프로젝트이기도합니다. 비유는 기존 구조물을 개조하거나 철거 할 필요가없는 녹지대에 건설하는 것과 유사합니다.

( http://en.wikipedia.org/wiki/Greenfield_project에서 )

Brownfield

브라운 필드 개발은 기존 (레거시) 소프트웨어 애플리케이션 / 시스템이 즉시 존재하는 상황에서 새로운 소프트웨어 시스템의 개발 및 배포가 필요한 문제 공간을 설명하기 위해 IT 산업에서 일반적으로 사용되는 용어입니다. 이는 모든 새로운 소프트웨어 아키텍처가 이미 현장에있는 라이브 소프트웨어를 고려하고 공존해야 함을 의미합니다.

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


29
"다행히도 Google이 다운되지 않았기 때문에 몇 초 만에 다음 정의를 찾을 수있었습니다." -정확히 왜이 진술이 필요한가요? 나는 당신이 '간단한'질문에 짜증이 나고 좌절감이나 무언가를 추가하는 것을 이해할 수 있지만, 왜 그것이 제거 된 후에 다시 진술을 추가합니까?
AgentConundrum

8
@AgentConundrum에 동의합니다. 이것은 이제 Google이 반환하는 두 번째 결과입니다. 발언을 잃으십시오.
Rob Bell

6
사람들이 다른 일을 시도하기 전에 Google 사용법을 배워야한다는 의견이 여전히 있기 때문입니다. 남자에게 물고기를주는 것과 물고기를 가르치는 것.
Bombe 2011 년

17
@Bombe Google을 채우는 콘텐츠라는 사실을 모르십니까? 따라서 Google에서 찾을 수 있으려면 어딘가에 답변이 필요합니다 ... Google에서 위키 기사를 찾았지만 Google에 답이 있다면 왜 위키 기사에 글을 써야했을까요?
Robin Day

30
재미있는 것은. 나는 지금 구글을 통해 이것을 발견했다. 첫 번째 링크. ;)
Ibsonic 2014

13

도시 계획 용어 인 "그린 필드 랜드""브라운 필드 랜드" 와 관련이있을 수 있다고 생각합니다 . 그린 필드 토지는 농업, 조경 또는 자연과 같은 미개발 토지입니다. Brownfield 토지는 개발 된 토지입니다.

브라운 필드 애플리케이션은 기존 애플리케이션이고, 그린 필드 애플리케이션은 아직 작성되지 않았거나 개발 초기 단계에있는 애플리케이션입니다.


적어도 많은 의미가 있습니다. 그러나 브라운 필드 애플리케이션은 어떻게 구할 수 있습니까? 응용 프로그램은 원래 처음부터 빌드되지 않습니까? 언제 브라운 필드가 되나요?
Svish

2
브라운 필드 응용 프로그램은 일반적으로 기존 파일 형식, 인터페이스, 모듈 등에 대한 하위 호환성 문제가있는 기존 응용 프로그램의 주요 업그레이드 또는 재개발을 의미합니다. 때로는 역방향에 대한 모든 고려 사항을 무시하기로 결정하여 브라운 필드 응용 프로그램을 그린 필드로 만들 수 있습니다. 호환성과 신선한 시작.
Jeremy Bourque

1
Brownfield는 기존 라이브 애플리케이션의 주요 개선 사항이거나 완전한 재 작성보다 적습니다. 즉, 레거시 코드입니다.
APC

4

Greenfield 앱 : 새로운 개발, 솔루션에 제약이되는 사전 작업이 없습니다. 나는 그 용어가 un "unplowed, green"필드에서 유래했다고 생각한다.

Brownfield : 기존 애플리케이션, 고려할 기존의 많은 항목 등

이 게시물을 참조하십시오 .


2

건물과 유사하다고 생각합니다.

  • 그린 필드 사이트 처녀 땅이다 - 즉, 처음부터 새로운 소프트웨어 프로젝트를 시작하는 새로운 프로젝트,
  • 재개발 사이트는 기존의 구조가 기존의 소프트웨어 프로젝트에서 먼저 해체에 즉 건물이 필요 하나

2

내가 James Gregory (Fluent NHibernate의 배후에있는 사람)에 대해 알고있는 바에 따르면, Brownfield에 대한 Wikipedia 항목은 이론적 인 측면에 약간 있다고 생각합니다. 에서 브라운 필드 응용 프로그램 개발 , 우리는 그것을 같이 정의한다 :

이전에 생성 된 프로젝트 또는 코드베이스, 잘못된 관행, 구조 및 설계로 인해 오염되었을 수 있지만 포괄적이고 지시적인 리팩토링을 통해 부활 할 가능성이 있습니다.

짧은 버전 : 작업이 필요하지만 여전히 활발하게 개발되고있는 기존 프로젝트 (대부분의 레거시 시스템과 달리).


2

'그린 필드'또는 '브라운 필드'또는 레거시 코드 리팩터링에 대한 회사의 결정을 둘러싼 많은 논쟁이 있습니다.

결정은 많은 요소를 고려하여 내려져야합니다. 그린 필드 애플리케이션을 개발하는 데 사용할 수있는 자금이 가장 중요하지 않습니다. 대부분의 경우 레거시 앱은 회사의 현재 캐시 카우이며 해당 레거시 코드의 그린 필드 교체는 완전히 개발되고 첫 번째 유료 고객의 손에있을 때까지 단일 레드 달러를 벌지 못합니다.

대부분의 소프트웨어 엔지니어가 선호하는 것은 START NEW GREENFIELD PROJECT이지만 OPC (Other People 's Code)를 싫어하기 때문에 항상 회사의 장기적인 재정 상태에 있지 않을 수도 있습니다.

나는 20 년 이상 전에 일한 회사에서 매우 실제 경험을 바탕으로 그린 ​​필드 프로젝트와 관련된 위험을 분석하는 기사를 썼습니다. 여기에서 읽을 수 있습니다.

http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.