Lyrics by Doug and Rob Rosenberg, ICONIX
Copyright © 2001, 2002 ICONIX
Are you struggling to implement agile techniques, and in need of emergency assistance?
Our Agile Triage Workshop might be the answer!
For more really funny stuff check out Software Reality.
Click on the tabs to expand
imagine there's no requirements. It's easy if you try
just a bunch of coders, reachin for the sky
imagine all the people, coding for today
imagine there's no schedules. It isn't hard to do
no silly project deadlines, no one supervising you
imagine all the people, coding hand in hand
you may say I'm an extremer but I'm not the only one
i hope someday you'll join us and make coding lots more fun.
imagine oral documentation. I wonder if you can
no need for UML diagrams. Just words passed, man to man
imagine just refactoring, playing in the sand
you may say I'm an extremer, but I'm not the only one
i hope someday you'll join us and make coding lots more fun.
hey dude
your code smells bad
go refactor and make it better
remember
that tests are requirements
then you can begin
to make it smell better
and if you say you need design
hey dude
don't whine
make sure you don't put in
any comments
just code what you need today
then go
and play
remember the schedule
is the customer's problem
la la la la la, la la la laaaaaaa
hey dude
your code smells bad
go refactor and make it better
remember
that tests are requirements
then you can begin
to make it smell better
won't write my code
uml won't write my code
won't write my code
no, no, no, no
say you want me to use UML
i say it's a waste of time
i'd rather go by the code smell
Cause the code is the design
i don't care for UML diagrams
Cause UML won't write my code
won't write my code
UML won't write my code
won't write my code
no, no, no, no
you say you want me to document
well i'll tell you hell no
its a waste of time to document
i'm not afraid to tell you so
why the hell would i want to document
when i could be writing code
just writing code
cause its really all i know
just writing code
go, go, go, go
smell the code, jack
and don't do design no more
no more
no more
no more
smell the code ,jack
and don't do design no more
woah baby, oh baby my code is so clean
it's the cleanest smelling code that you've ever seen...
i can't get no
architecture
i can't get no
architecture
cause i tried
and i tried
and i tried
and I tried
i can't get no
i can't get no
well I'm refactoring my code
yeah I'm movin' this and I'm changin' that
every time I get the urge
but I'm still sittin' here waiting for
the architecture to emerge>
i can't get no
no no no
hey hey hey
that's what I say
i don't need no
infrastructure
i don't need no
infrastructure
cause I tried
and I tried
and I tried
and I tried
i don't need no
i don't need no
when I'm posting to the newsgroup
and a man comes on and tells me
that I should not say YAGNI
but he can't be a man cause he does not write
as much C code as me
i don't need no
no no no
hey hey hey
that's what I say
we're not on the imagined schedule
the goal donor's been gone for a week
won't our faces be red
when the mainframes drop dead
chrysler's really gonna be up the creek
chrysler knows it ain't easy
they know how hard it can be
the way things are goin'
they're gonna cancel C3
think I'd better dust off the resume
the gold owner is getting real tweaked
some people say
the project's goin' away
ya know the mainframe's gonna die in a week
chrysler knows it ain't easy
they know how hard it can be
the way things are goin'
they're gonna cancel C3
everybody here is coding for today
cause we all know that change is free
last night someone said
don't write a thing down
we won't leave nothing for them but the code
project's goin south in a hurry
but I figure "hey, why be meek"
let's go to the press
and just claim success
we'll have four book contracts in a week
chrysler knows it ain't easy
they know how hard it can be
the way things are going
they're gonna cancel C3
yesterday
i refactored half my code away
i think i'll do it again today
oh i had fun on yesterday
suddenly
when i told my client change was free
they changed all the stories they told me
my requirements change so frequently
i tried to integrate my new code
but there's no way
i could get it done by five
so i threw it all awaaaaaaaaaaaaaaay
yesterday
the long and winding thread
leads me straight
to your code
that you wrote sitting here
a long long time ago
you thought your code was clear
and then went out the door
many times i've read your code
and many times i've cried
i wish i had a diagram
because my brain is fried
but bugs still bring me back
to that same
piece of code
that you refactored here
many years before
then you stopped working here
a long long time ago
many times i've read your code
and many times i've cried
i wish i had a diagram
because my brain is fried
refactor, yeah, yeah, yeah.
refactor, yeah, yeah, yeah.
refactor, yeah, yeah, yeah, yeah.
you say you wrote some code
and it smells pretty bad
your pair programming buddy
is lookin kinda sad
you just refactor
and then you're having fun
refactor
don't worry bout getting done
you've coded it ten times
but no one seems to mind
it passes unit tests
but its never been designed
so just refactor
cause its all about havin fun
refactor
cause software's never done, oooooooooooooh!
refactor, yeah, yeah, yeah.
cause if your code smells clean your client won't get mad.
doesn't matter when it's done
or even what it does
cause you're doin XP
and it's the latest buzz
so you refactor
cause you know you will be glad
refactor
and you never will be sad, oooooooooooooh!
refactor, yeah, yeah, yeah.
refactor, yeah, yeah, yeah.
cause if your code smells clean your client won't get mad.
cause if your code smells clean your client won't get mad.
cause if your code smells clean your client won't get mad.
yeah, yeah, yeah!
yeah, yeah, yeah!
yeah, yeah, yeah, yeah!
livin in a timebox
guess you know its rough
gotta build every day, babe
even half baked stuff
build it, ship it
build it, ship it
aint got time for design, babe
8 builds a week
build it every day, babe
build it right on time
one thing i can say, babe
no time for design
refactor it, test it
build it, ship it
aint got time for design, babe
8 builds a week
i read the code today oh boy
half of my classes have just gone away
refactored by some other pair
but i don't mind
i wasn't really gonna need em anyway
and i'll just rewritem in the morning
i read the code today oh boy
big projects got no reason
big projects got no reason
big projects got no reason to live
if you got too many coders
to fit in a room
you know that your project
is destined to doom
so we don't want no big projects round here
big projects got no reason
big projects got no reason
big projects got no reason to live
when you smell the code
you know you got to inhale
we like small projects
cause xp don't scale
so we don't want no big projects round here
i guess i'd better go home
its time to go play, yeah
that pair programmer i had
called in sick today, yeah
i can't code alone
cause i've tried
gotta have my pair by my side
i can't really write any code
cause i need my pair
cause i need my pair
when i'm refactoring code
he always sits right, always sits right by me
when we're runnin our unit tests
he always sits right, always sits right by me
i can't code alone
cause i've tried
gotta have my pair by my side
i can't really write any code
cause i need my pair
cause i need my pair
you got: no requirements
you got: no schedules
you got: pair programmers
you got: lots of pepsi
you got: goal donors tellin you stories
one thing i can tell you is you can't code in threes
code together
right now
with xp
you got: ree-factoring
you got no documentation
you got: cases of pepsi
you got index cards up to your knees
go ahead and change that cause you know change is free
code together
right now
with xp
we're coding face to face
cause we're all extremers
not a trace
of written design
there's just code
oooooooooh
we're all extremers
cause the code is the design
if you think of building architecture
but you're feeling lazy
you can just skip it
yagni
if you think you might need infrastructure
you don't have to worry
go ahead and skip it
yagni
yagni
yagni
yagni
yagni
don't worry bout tomorrow
yagni
you aren't gonna need it
yagni
you failed a unit test baby
failed the test baby
but do not shout
do not shout
you failed a unit test baby, now
failed a test baby
go on and rip that code out
rip that code out, oooooooooooooh
you got no requirements
no requirements
you got no design
no design
just rip up and refactor now
rip up and refactor
and you'll be feelin fine
feelin fine
when you're coding something
that you don't understand
you don't
have to worry
your pair will hold your hand
your pair will hold your hand
your pair will hold your hand
and when you're coding you feel happy inside
the joy of coding is just one you can't hide
people say
we need requirements
they always make a fuss
we think
that requirements
should be in c plus plus
should be in c plus plus
and when you're coding you feel happy inside
the joy of coding is just one you can't hide
when you're unit testing
and you find a bug
you don't have to feel bad
your pair will give you a hug
your pair will give you a hug
and when you're coding you feel happy inside
the joy of coding is just one you can't hide
oh the project called C3
was cancelled in-explicablee
kent and ron
claimed victory
but at chrysler
they didn't quite see
it was cancelled inexplicably
inexplicably, inexplicably
it was cancelled inexplicably
inexplicably, inexplicably
run the compiler
run the tests
you got no requirements
your project's a mess
your goal donor
has just left town
and i think the gold owner's
gonna shut it down
look at everybody flee
from the project called c3
got a book contract for you baby
and another one for me
we'll claim victory anyhow
cause we're in the bigtime now....
you say you want short iterations
well, you know
you really shouldn't skip design
you say since you got pair programmers
well, you know
that everything will come out fine
but when you skip writing your requirements down
you know you're just setting yourself up to look like a clown
dont ya know its just xp
all right
all right
you say you like to do refactoring
well you know
you could do it right the first time
you say you don't need documentation
well you know
because the code is the design
you're gonna have code that doesn't smell too great
but you got no schedules so you can't be late
ya know its just xp
shoo be doo bop
all right
shoo be doo bop
mm hmm
all right
shoo be doo bop
Project's not going too far
sing to the tune of "Back in the USSR" by the Beatles
Overtime is evil when you do XP
gotta leave at 5pm each night
schedule's not our problem because change is free
man, Kent really got it right
project's not goin too far
find out how lucky you are, boy
cause your project's not goin too far
this code has been refactored by a chimpanzee
maybe it needs a rewrite
what he was thinkin about i just can't see
maybe he's just not too bright
project's not goin too far
I dunno how lucky you are, boy
cause your project's not goin too far
we put code in and we rip it out
we leave a mess behind
refactoring's what it's all about
aint no time for design-nine-nine-nine-nine-nine-nine-nine-nine
going round in circles each and every day
is not a cause for alarm
when we throw the stack of index cards away
we're not doing any harm
project's not goin too far
I dunno how lucky you are, boy
cause your project's not goin too far...
the man with kaleidoscope eyes
(sing to the tune of Lucy in the Sky with Diamonds)
picture a waterfall run through a blender
all your iterations so tiny in size
somebody tells you that change is not costly
the man with kaleidoscope eyes
endless refactoring day after day
while deadlines are slipping away
suddenly you hear a saying that makes it okay
schedule is the customer's problem...
jojo and loretta
coding in pairs
trying to get the payroll to run
they're having fun
look at them working
coding and testing and coding and re-factoring
then going home
at 5PM
so they can do it again and again endlessly
that was c3
all the lonely coders
where do they all come from?
all the lonely coders
where do they all belong?
printing out paychecks
more than a coder should ever attempt by himself
wait, that code smells
time to refactor
wondering if the big project will ever get done
but they're still having fun
and they've got lots of pepsi.....
all the lonely coders
where do they all come from?
all the lonely coders
where do they all belong?
its been four years
some paychecks are printing
but its only the payroll that runs once a month
everyone else might not get paid
what will they do when the mainframes die on Y2K?
all the lonely coders
where do they all come from?
all the lonely coders
where do they all belong?
its the millenium
the project is cancelled
seems like the mainframes at chrysler didn't really drop dead
hey, we'll write books instead!
all the lonely coders
where do they all come from?
all the lonely coders
where do they all belong?