It is nothing. It is everything. It is Zabada.
Random header image... Refresh for more!

Rob’s Annoyance of the Week: “It Works on My Machine!”

works-on-my-machine-starburst.pngFor this week’s “Annoyance” entry, non-software developers beware, you might not feel my pain or understand what I’m talking about. This is a cliche joke in the software world, but it is SO TRUE!

works-on-my-machine-stamped.pngBasically, the IWOMM syndrome a happens when a developer commits new code that relies on something specific to the offender’s computer or when the offending developer doesn’t sync with the team’s latest changes before committing. When someone else updates their working code that includes the offender’s new changes, his system ceases to build or be able to pass the tests. The victim then confronts the offending developer and the offender can often be heard saying, “But, it works on my machine!”.

Helpful recipe for IWOMM offenders:

  1. Develop your feature/bug fix/whatever
  2. sync with your version control system, Subversion users, for example: svn update
  3. What? You don’t use version control? Oxygen … need oxygen … :) … you wouldn’t believe how many developers with “15 years experience” that I’ve met who I have to teach the fundamental principles of a VCS
  4. Okay, you do use version control. Whew! Run a “clean” and do a build and run your system’s unit tests. I know you have unit tests, right?
  5. All cool? No build errors? All tests passed? Now you can commit your changes:
    svn commit -m "It works on my machine and it'll work on your's too unless I'm a massive tool and I hard-coded something like database connection properties to my local database in the code!"

worksonmymachine_logo.pngThankfully, the IWOMM syndrome hasn’t been problem that I’ve experienced lately, I just jokingly said it today when someone was having a minor build problem.

I’d never seen these, “It Works on My Machine” Certification Program and Coding Horror’s Modification, until I Googled “it works on my machine” before I wrote this post. Good stuff!

The end.

This friendly post was brought to you by:

Pragmatic Version Control Using Subversion
prag-vc-w-subversion.jpg

1 comment

1 Mike { 08.09.07 at 1:02 pm }

I think it is most sad when IWOMM goes untreated. It then can turn into IDWOT syndrom. (I didn’t work on that)

Leave a Comment