Lyrics by Doug
and Rob Rosenberg, ICONIX
Copyright ©
2001, 2002 ICONIX
to download a copy of this file click here
"imagine"
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"
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
"uml won't write
my code"
(sing to the tune of "can't buy me love")
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"
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"
sing to the tune of "satisfaction" by the Rolling Stones
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
"chrysler knows it ain't easy"
sing to the tune of "the ballad of john and yoko"
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"
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"
(sing to the tune of "the long and winding road")
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"
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!
"8 builds a week"
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
"a day in the
life"
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 to live"
(sing to the tune of "short people" by randy newman)
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 can't code
alonecause i need my pair"
(sing to the tune of "she's got a ticket to ride")
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
code together
(sing to the tune
of "come together")
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 all extremers
(sing to the tune
of the monkees - "i'm a believer")
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
"yagni"
(sing to the tune of "let it be")
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
"test and shout"
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
"your pair will
hold your hand"
(to the tune of "i wanna hold your hand")
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
"cancelled inexplicably"
(sing to the tune of "yellow submarine")
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
in the bigtime now.....
(sing to the tune
of "political science" by randy newman)
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.....
"short iterations"
(sing to the tune of "revolution")
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...
"all the lonely
coders"
(sing to the tune of "eleanor rigby")
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?
For more
really funny stuff check out - www.softwarereality.com
|