Showing posts with label rant. Show all posts
Showing posts with label rant. Show all posts

Wednesday, 20 June 2012

Don’t Repeat Yourself–the story of a wasted hour

The DRY principle is kind of a known concept to most software developers. it goes hands in hand with “Minimize Duplication” (4 elements of simple design by Kent Beck) “Single Source of Truth” and probably some more of this kind.

But lets start with a story

I hate Wasting Time

This week I was sitting doing some pairing trying to setup their first Given-When-Test using nBehave. We went through the regular steps: creating a new empty project, setting up a new empty spec test running it seeing that it fails and started working on actually doing something meaningful by loading up the application DAL into the test context.

10 minutes into the process, executing what we had resulted in a very nice FileNotFoundException and some text talking about that the need to use a strong name assemblies only.

Great!

Of course Microsoft was generous enough to omit the name of the actual file (which probably would have saved us most of the time in fixing the problem and your time in reading all this) but anyway 1 hour later we noticed that the code base has several 3rd parties dll’s appearing in the wrong places and they were all checked into the source control AND to make things happier they were not of the same version. In short we had mismatching dll’s duplication.

Of course, like always, after I fix a problem everything seems so obvious and I cant figure why I didn’t understand it much earlier. but anyway after 2 more minutes we had that one thing solved and we actually were ready to do some serious work. At that point however we ran out of time so we scheduled to continue another time.

Duplications are Evil

Yes the DRY principle which wikipedia defines as :"Every piece of knowledge must have a single, unambiguous, authoritative representation within a system." applies to more than just code and code design. It applies to all parts of the system, in my case it can be restated by the common sense directive:

You shall only have a single copy of any 3rd party dll checked into your source control

Yes I feel stupid

So where else can DRY be applied?  What example do you have?



Want to adopt Agile and don’t know where to start?
click here to learn

Tuesday, 9 November 2010

How not to Organize an Event

I've been running this blog for 2 years now and so far I have kept my ranting to a bear minimum. Today I'll make an exception (hopefully the last one).

I got a distributing call a couple of days ago, telling me that unfortunately there are no more places at the Haifa Agile Tour event and "were sorry but please don't come".

In itself not a big deal, I've missed more than one event dues to space limitations. Getting this calls just TWO days before the event (which I registered a few months ago) AFTER I got a a confirmation email saying "please come and here is where you park" is a just plain wrong.

When you organize an event its ok to:

  1. Limit the amount of people that can register
  2. Its also ok to register everyone and later on confirming only part.
  3. It's even ok to delay the even for almost the last minute while you are doing your best to arrange for a bigger place.

Emailing people saying we managed to increase our venue please come, just to call them so late in the game apologizing with no clear reason is NOT.

Doing so disrespectful and insulting. It clearly states that some sort of criteria was applied other than first in first served. Really the last thing I would expect at an event sponsored by the Agile Tour Organization.

So I contacted the organizing firm and I got the following answer, no nothing unexpected has happened at the last moment, just that they ran out of place and:

Sine this conference is more relevant to people of the industry more that it is for consultants, sadly we had to unregister consultants

That is only "developers" were let in. Agile "Coaches" and other (none potential customers) were left out. since clearly this is less relevant for them.

So here's a couple of questions for Ignite people:

Is that how you regularly do business?

Do you really think its wise to tick of people (specifically the kind that makes a living by connecting to people) just in order to attract a couple more potential customer?

If you are refusing people, why was the registration open while doing so?

And my blog title is IMistaken...

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Walgreens Printable Coupons