2008-09-02 4 views
5

Это не вопрос точного ответа (строго говоря, ответ будет лучше всего воспринят опросом, но эта функциональность недоступна), но я искренне заинтересован в ответе, поэтому я все равно спрошу его.Brownfield против разработки Greenfield?

В течение вашей карьеры, сколько времени вы потратили на разработку greenfield по сравнению с brownfield?

За последние 10 лет я бы оценил, что я потратил 20% на новое поле и 80% на коричневое поле. Это типично?

ответ

3

Я думаю, что это типично для профессионалов, которые имеют дело с клиентами, чтобы тратить больше времени на разработку месторождения. Причина в том, что клиенты обычно не хотят выкидывать свое существующее программное обеспечение, чтобы принять «последнее и самое лучшее» (зеленое) программное обеспечение.

Разработчики в области исследований или научных работников, однако, могут с большей вероятностью заниматься разработкой новых месторождений. Стартапы также.

2

Я думаю, что ваше отношение 20:80 является представителем многих/большинства разработчиков. Что касается новой разработки: если вы постепенно наращиваете программное обеспечение (Scrum, XP и т. Д.), Можно утверждать, что вы тратите почти все свое время на разработку месторождения. За исключением начальной итерационной/поисковой работы, прототипирования, даже когда вы строите что-то новое, вы уже работаете над созданной базой кода, рефакторингом и расширением. Итак, сколько зеленых месторождений на самом деле зеленые?

1

За последнее десятилетие я всегда работал над программным обеспечением, которое использовалось как центр бизнеса моей компании. (И SaaS, и программный продукт.) И хотя я всегда приходил в существующую систему (так коричневое поле), мы обычно выставляем редизайн/переписывание на землю (так что это новое поле). Итак, вниз:

  • 60/40 коричневый/зеленый для крупных проектов, в числе
  • около 20/80 коричневый/зеленый для больших проектов, время, потраченное на них
  • и почти 0/100 коричневый зеленый для небольших побочных проектов

Таким образом, это кажется противоположным вам. Это характер компаний, которые я искал, и, следовательно, проекты. Мое программное обеспечение является основным продуктом нашей компании, и это означает, что я работаю на одной и той же кодовой базе в течение многих лет, обычно после того, как создал ее с нуля сам.

И мне это нравится.

2

Часто проблема не просто сводится к заброшенному ветру против зеленого поля. В некоторых случаях существует реальная возможность для гибридного подхода «новый»/«коричневый».

Я написал статью под названием «Классические ошибки программного обеспечения: к уставу Greenfield или Refactor Legacy Code», в котором обсуждается этот точный предмет и описывается ряд возможных комбинаций, а затем оцениваются последствия каждого из них.

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

Что может удивить некоторых людей является то, что не технический атрибут, размер компании, будет большим фактором, определяющим в выборе стратегии и вероятность успеха этой стратегии.