Saya membaca kalimat berikut di wiki Fluent NHibernate :
...; namun, untuk sebagian besar aplikasi greenfield (dan beberapa aplikasi brownfield juga) pemetaan otomatis akan lebih dari mampu.
Apa itu aplikasi Greenfield dan Brownfield?
Saya membaca kalimat berikut di wiki Fluent NHibernate :
...; namun, untuk sebagian besar aplikasi greenfield (dan beberapa aplikasi brownfield juga) pemetaan otomatis akan lebih dari mampu.
Apa itu aplikasi Greenfield dan Brownfield?
Jawaban:
dalam disiplin ilmu lain seperti rekayasa perangkat lunak, lapangan hijau juga merupakan proyek yang tidak memiliki kendala yang disebabkan oleh pekerjaan sebelumnya. Analoginya adalah konstruksi di lahan greenfield di mana tidak perlu merombak atau menghancurkan struktur yang ada.
(dari http://en.wikipedia.org/wiki/Greenfield_project )
Pengembangan Brownfield adalah istilah yang umum digunakan dalam industri TI untuk menggambarkan ruang masalah yang membutuhkan pengembangan dan penerapan sistem perangkat lunak baru di hadapan segera aplikasi / sistem perangkat lunak (warisan) yang ada. Ini menyiratkan bahwa setiap arsitektur perangkat lunak baru harus memperhitungkan dan hidup berdampingan dengan perangkat lunak langsung yang sudah ada.
(dari http://en.wikipedia.org/wiki/Brownfield_(software_development) )
Saya pikir ini mungkin terkait dengan istilah perencanaan kota "lahan greenfield" dan "lahan brownfield" . Lahan Greenfield adalah lahan yang belum dikembangkan - pertanian, lansekap, atau alami. Lahan Brownfield adalah lahan yang dikembangkan.
Aplikasi brownfield adalah aplikasi yang sudah ada, sedangkan aplikasi greenfield adalah aplikasi yang belum dibuat atau sedang dalam tahap pengembangan yang sangat awal.
Aplikasi Greenfield: pengembangan baru, tidak ada pekerjaan sebelumnya yang dilakukan yang menimbulkan kendala pada solusi Anda. Saya pikir istilah itu berasal dari bidang yang tidak "dibajak, hijau".
Brownfield: aplikasi yang sudah ada, banyak hal yang perlu dipertimbangkan, dll.
Saya rasa ini analogi dengan membangun
Berdasarkan apa yang saya ketahui tentang James Gregory (orang di belakang Fluent NHibernate), menurut saya entri Wikipedia untuk brownfield sedikit di sisi teoretis. Dalam Pengembangan Aplikasi Brownfield , kami mendefinisikannya sebagai:
proyek, atau basis kode, yang sebelumnya dibuat dan mungkin terkontaminasi oleh praktik, struktur, dan desain yang buruk tetapi berpotensi untuk dihidupkan kembali melalui pemfaktoran ulang yang komprehensif dan terarah
Versi singkat: Proyek yang sudah ada yang membutuhkan pekerjaan tetapi masih dikembangkan secara aktif (tidak seperti kebanyakan sistem lama).
Ada banyak perdebatan seputar keputusan perusahaan untuk 'greenfield' atau 'brownfield' atau kode warisan refactor.
Keputusan perlu dibuat dengan mempertimbangkan banyak faktor - tidak terkecuali dana yang tersedia untuk mengembangkan aplikasi greenfield. Dalam banyak kasus, aplikasi lama adalah uang tunai perusahaan saat ini dan setiap penggantian greenfield dari kode warisan itu tidak akan menghasilkan satu dolar merah pun sampai dikembangkan sepenuhnya dan berada di tangan pelanggan yang membayar pertama.
Meskipun preferensi bagi sebagian besar insinyur perangkat lunak adalah MULAI PROYEK FIELD HIJAU BARU karena mereka biasanya membenci OPC (Kode Orang Lain), hal itu mungkin tidak selalu dalam keuangan jangka panjang perusahaan.
Saya menulis artikel yang menganalisis risiko yang terlibat dengan proyek greenfield berdasarkan pengalaman nyata di perusahaan tempat saya bekerja selama 20+ tahun yang lalu (menunjukkan usia saya sekarang;). Anda bisa membacanya di sini:
http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html