2008-09-02 6 views
5

Questa non è una domanda con una risposta precisa (in senso stretto la risposta sarebbe meglio catturata da un sondaggio, ma quella funzionalità non è disponibile), ma sono sinceramente interessato alla risposta, quindi lo chiederò comunque.Sviluppo di Brownfield vs Greenfield?

Nel corso della tua carriera, quanto tempo hai speso per lo sviluppo greenfield rispetto a brownfield?

Negli ultimi 10 anni ho stimato di aver speso il 20% su greenfield e l'80% su brownfield. È tipico?

risposta

3

Penso che sia tipico per i professionisti che si occupano di clienti di passare più tempo nello sviluppo brownfield. La ragione è che i clienti in genere non sono disposti a buttare il loro software esistente per adottare il software "più recente e più grande" (verde).

Gli sviluppatori di ricerca o accademici, tuttavia, potrebbero avere maggiori probabilità di sviluppare aree verdi. Anche le start-up.

2

Penso che il rapporto 20:80 sia rappresentativo di molti/più sviluppatori. Per quanto riguarda il nuovo sviluppo: se si sta costruendo software in modo incrementale (Scrum, XP, ecc.) Si potrebbe sostenere che passi quasi tutto il tuo tempo nello sviluppo di brownfield. Fatta eccezione per il lavoro iniziale di esplorazione/esplorazione, la prototipazione, anche quando si sta costruendo qualcosa di nuovo, si sta già lavorando su una base di codice stabilita, sul refactoring e sull'estensione. Quindi quanto sviluppo greenfield è in realtà verde?

1

Negli ultimi dieci anni ho sempre lavorato su software utilizzato come centro dell'attività della mia azienda. (Sia SaaS che un prodotto software.) E anche se sono sempre entrato in un sistema esistente (quindi brownfield), di solito realizziamo una riprogettazione/riscrittura a terra (quindi greenfield.) Quindi, per rompere a giù:

  • circa 60/40 marrone/verde per i grandi progetti, in numero di
  • circa 20/80 marrone/verde per i grandi progetti, in tempo speso su di loro
  • e quasi 0/100 verde marrone per piccoli progetti

Quindi, questo sembra essere l'opposto di voi. È la natura delle aziende che ho cercato, e quindi i progetti. Il mio software è il prodotto principale della nostra azienda e ciò significa che lavoro per anni sulla stessa base di codice, di solito dopo averlo creato da zero io stesso.

E a me piace così.

2

Spesso il problema non si riduce a brownfield vs greenfield. In alcuni casi esiste un'opportunità valida per un approccio ibrido in campo greenfield/brownfield.

Ho scritto un articolo intitolato "Errori software classici: a Greenfield o Reflegacy Legacy Code" che tratta questo argomento esatto e delinea una gamma di combinazioni possibili, quindi valuta le conseguenze di ciascuno.

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

Ciò che può sorprendere alcune persone è che un attributo non tecnica, dimensioni dell'azienda, sarà un grande fattore determinante nella scelta della strategia e la probabilità di successo di tale strategia.