Less talk, more code please

More stuff that pops into my head during triage meetings.

—-

Oh, thars –

Data-driven, Top-Down, Structured, Procedural and Agile
Incremental, Bottom-up and Spiral (though it’s fragile)
Rational will suck you in and bleed you with a smile
TDD will get you there, though it will take a while

CMM will curl your spine and make you want to die
Pre-factoring and Waterfall will hang you out to dry
Patterns lead you down the path then rape you in the shrubs
Simple hacking ‘ud be great, except for all the bugs

Experience has shown you find success in just one way:
Implement it six times; throw five of them away…

—-

I’ll scan in some of the cartoons I draw.  Maybe…

This entry was posted in Rantage. Bookmark the permalink.

12 Responses to Less talk, more code please

  1. landon says:

    I need to add: Throw away the _first_ five. Because someone will ask about that.

  2. landon says:

    Also, a fair number of you may think I am kidding.

    I am utterly serious.

    About the fifth or sixth macro assembler I wrote was pretty good. Commercial quality, even. I’m not sure if this damns me as a slow learner or what, but I see this a lot in the industry: Somewhere around your fifth or sixth try at a system is the one you can walk away whistling from.

  3. Pingback: Random Ramblings :: So true its frightening

  4. Dan says:

    Awesome jingle! And so very true…. “…rape you in the bushes”. No doubt!!

  5. Reed says:

    The last one is not always the best. Sometimes you get carried away after a few redesigns and create real over-complicated messes.

  6. landon says:

    @Reed: Usually it’s the second one that’s all messed up (Fred Brooks’ famous “Second system syndrome”). Or the third. By the time you get to the fifth or sixth reimplementation the idea is that you’re *tired* of doing it wrong, tired of trying (and failing) to do it right, and that you just want to get the job done.

  7. Adam says:

    I love this site. You are an inspiration to us all sir

  8. O says:

    CMM can be useful at times, but process for process sake is just a waste.

  9. vynl overdrive says:

    you mind if i record this?

  10. landon says:

    As long as it’s not on an accordion. 🙂

    Seriously: No, I don’t mind. Even an accordion would be fine. I hereby place the above doggerel in some kind of mumble Creative Commons mumble. Do what you will.

  11. Jack says:

    I so want to enter this poem as a backlog item (with a generic title “investigate module loading bug…” just to see how long it takes for someone on the team to discover it. Brilliant!

  12. Oisín says:

    I like it, although I don’t want to believe that I have to do it 6 times before it’s good. If it is true, though, it certainly supports the “keep is simple, stupid” practice; not just in terms of code, but of the number of features in the program, as well as of choosing the easiest, nicest language that will suit your project (e.g. don’t look down your nose at Basic, or better yet, Lisp, in favour of C++ and Java, if you don’t need them). And closely related is to avoid over/premature generalisation, as described in the deadly sins of programming (http://blogs.msdn.com/ericgu/archive/2006/08/03/687962.aspx).

Leave a Reply

Your email address will not be published. Required fields are marked *