NDC 2010. Day 3


Last day of the conference did not start well at all.
I expected to attend a session on Design by Contract (a topic that interests me a lot as I am myself preparing a talk about the subject) but, unfortunately, the speaker was late to the talk. I do not want to take any gratuitous guesses about the reasons for being late. Maybe it was a most legitimate reason (and then the organization should have communicated the audience, which they did not, at least, before the time I left when the session was due), maybe it wasn’t.
Anyway, for me, being late for a session with no warning is a big no-no, so I left the room mildly upset towards…

The 3 Laws of TDD (Robert C. Martin)

You see, watching one of your heroes perform has a mildly positive effect over your mood. I am not discovering anyone that the guy can present, being both engaging and entertaining.
Nevertheless I did not enjoy the part in which he shows the longest two Java classes ever. A waste of 3 minutes to prove a simple point: classes with around 30000 lines are probably not a good idea and TDD is useful enough to point that out for you.

Having myself devoted quite a bit of time to the subject I did not get much newer from the talk, although he is fun to listen to.

Effective Team Leaders (Roy Osherove)

Negative attitude is almost always bad. And yet I came with some to this session. The format chosen did not help to take my bad mojo away.

Letting the audience drive your talk may sound like a good idea and I believe Roy had anything but good intentions.
In this case, I do not think it worked out very well.
Why I think so? Well, although encouraging the audience to ask questions and prioritizing them based on a rudimentary raise-you-hand voting system (which works surprisingly better than some countries’ official system, by the way) is kind of cool, you have to make sure to answer them.
And the answering part is where I think the speaker failed. I am aware that management situations are hard to be answered out of the original context, but at least the examples and analogies should apply to the situation itself. Letting the audience ask questions but answering others (maybe equally interesting, but different from the ones you’ve been given), defeats the whole purpose of the format.

The key take-aways from the session are: act over issues, challenging tasks make good motivation tools and the discovery of the 6 factors of influence.

Code Contracts (Hadi Hariri)

The last session of a not really stellar morning touched, as I previously stated, an interest of mine: DbC and Code Contracts. Guess what? I was not that crazy about this session either. What is wrong with me?

I guess that mixing up library with tooling support, spending too much time on introductory matters to rush afterwards when there is interesting tangible content to be delivered and not so useful examples have that effect on me.

On the other hand, the speaker was entertaining and I got a couple of useful pieces of information: mark contract classes as abstract to prevent instantiation and and alternative way to represent pre-conditions.

Advanced Topics in Agile Planning (Mike Cohn)

After a quick soup for lunch (man, what a day!) I attended, without a doubt, the best session of the day by the author of the book I am currently reading (Agile Estimating and Planning).

He gave a most pleasant session, delivering all content in a straight-forward, easy-to-understand and effective way. A joy to attend. Who would have thought that most of the problems with contract estimations or estimate velocity of teams that are not yet arranged, can be approached with those simple techniques?

A personal favourite: “Good planning is the one that allows you to look back and say: «I made the right decisions»”.

Clean Code III: Functions (Robert C. Martin)

Invigorated by the previous session I headed to what I had planned to be my only session with “Uncle Bob”.

I read his book Clean Code some time ago and, if you asked me, the first book about programming that junior programmers should be given as mandatory read is precisely that one. I will definitely revisit the book in the future.

I enjoyed his performance, but having read the book, no new sparkles came off my head.

State and Behaviour Testing (Hadi Hariri)

Having been warned by the speaker that this was a very basic talk about the subject I still decided to stay because there was not a lot going on and, besides, I have some similar content to deliver on the same subject, so I thought I might use some of the ideas.

Well, it turned out that I won’t. The session was a bit “neither here nor there” in the sense that it was not advanced (as promised) but it would have been tricky to a beginner. A lot of ground wanted to be covered, topics were not connected in the nicest of the ways and examples were a bit wonky.

Nonetheless I liked the interaction that was tried with the attendance, although we were few and our brains tired.


No, it has not been the best of the days for me. Started off with the wrong foot and did not change pace but for one session. Attending hero’s talks have not had the desired healing effect either.