Episode 28

028 JSJ Greenfield vs Brownfield Projects


September 21st, 2012

58 mins 30 secs

Your Hosts

About this Episode


Joe Eames (twitter github blog)
AJ O'Neal (twitter github blog)
Jamison Dance (twitter github blog)
Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp)


Greenfield - Brand New Project
Brownfield - Older Applications, Legacy Code
Poopfield - PHP Development
Dealing With Legacy Code
Use Tests
Working Effectively with Legacy Code - Michael Feathers
When is the big rewrite the correct answer?


Joseph Smith: Rough Stone Rolling (AJ)
Roll Up Crepes (AJ)
Calepin (AJ)
Bernie (Jamison)
Dota 2 (Jamison)
Derrick Storm Novels - A Brewing Storm, A Bloody Storm, A Raging Storm (Joe)
Castle (Joe)
X-Wing Mineatures (Joe)
PEX For Fun (Joe)
MLG Championship - Starcraft Duel (Joe)
VESA 75 to 100 Adapter (Chuck)
LG Tone Bluetooth Headphones (Chuck)

JOE: Listen baby, it won’t get weird.

JAMISON: [Chuckles]

AJ: That sounds... weird.

JAMISON: [Chuckles] Too Late.

[Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net.]

[This episode is sponsored by Harvest. I use Harvest to track time, track subcontractor’s time and invoice clients. Their time tracking is really simple and easy to use. Invoicing includes a ‘pay now’ function by credit card and PayPal. And you can sign up at getharvest.com. Use the code RF to get 50% off your first month.]

CHUCK: Hey everybody and welcome to episode 28 of the JavaScript Jabber show. This week on our panel, we have AJ O’Neil.

AJ: Yo, yo, yo comin’ at you live from the second story of an office base in Orem, Utah.

CHUCK:  We also have Jamison Dance.

JAMISON: Hi, I’m Jamison Dance and I am super excited, because today iTV just announced that we are doing the Nintendo TV thing; and I haven’t been able to talk about it for, like, six months, so it’s a good day.

CHUCK: Cool. We also have Joe Eames.

JOE: Comin at you semi live from American Fork, Utah.

CHUCK: And I am Charles Max Wood from devchat.tv. Tim is not with us this week because he is in China. I thought I’d point that out, because I think it’s cool. Anyway, this week we are going to be talking about Greenfield versus Brownfield projects. It was kind of funny when we were getting ready to do this, some of the panels were like, Green/Brown?

JAMISON: Yeah, I have to pull Josh Susser and ask for a definition.

CHUCK: So, as far as I understand it, there are some new --- to this, depending to who you talk to, but mostly, Greenfield is a brand new project with few or no decisions made and no code written for it yet. And Brownfield projects are effectively older applications usually associated with legacy code. You know, so it’s an application that already has code written toward it. Typically, it is out there in the world doing whatever it is supposed to do.

JAMISON: Now, I want to put this question delicately. Are there any fecal connotations to the color ‘brown’ in Brownfield?

CHUCK: Only if it’s PHP.

JOE: [Chuckles]. Then it’s Poopfield Development?

CHUCK: [Chuckles]. Okay, we are not gonna go down that tangent.


AJ: Because, I mean honestly, when Mormons make jokes about crap, it never sounds good anyway.

CHUCK: Yeah. So anyway, how many of you guys have actually worked on a real Greenfield project? Like been there from day one, that you have it just built yourself.

JAMISON: I guess it depends on your definition. Maybe. So we have lots of services at ITV, so I've been part of spinning up completely new services that didn’t exist. We had other sort of similar things already, so some of the decisions were already made for, so we kind of had a style established. But it was still like a separate project.

AJ: Do you forget us so soon, Jamison?

JAMISON: [Chuckles].

AJ: You don’t remember ever working here or getting started…

JAMISON: I do. I don’t remember Greenfield stuff; I remember new features, I mean,