July 28, 2006

...Learn TDD with Codemanship

OOD Master Class - Feedback from July 27th

To find out more about the parlezuml.com Summer e-Cademy go to our events page

The summer e-Cademy is in full swing, and yesterday saw the second object oriented design master class helping to keep up the momentum.

As with the first workshop, it really works when the participants make it work. When a workshop goes well, that's a reflection of the quality and professionalism of the people who take part. This is advanced stuff, and advanced stuff requires advanced people to work on it. As one participant quite rightly asked, "who's actually out there doing this stuff?". Honestly, the answer is a very small minority of some of the best software developers. This is some pretty advanced Kung Fu, and everyone who took part - and there were no exceptions - rose to the challenge.

There were some lessons learned from the first OO master class that may have helped - it's always very hard to attribute cause to effect in something as complex as training.

The main gripe about the first workshop was that there was too much material, and the pace was too fast. Some people suggested that it might have been better to do it as a 2-day workshop. And, as I've mentioned, it's quite advanced stuff to take on board in what is essentially a crash course. My solution, of course, was to cover exactly the same material in even less time. Yesterday's workshop finished an hour earlier (though we did have only half an hour for lunch). I did, however, explain things differently. I took my time with each design principle and metric, showing a worked example for most of them and highlighting the range of possible values and discussing which end of the range is better and which end is worse - as participants at the first workshop suggested. And you know what, they were right. This time around there's only one piece of feedback saying that there was too much material or the pace was too fast.

I also placed greater emphasis on the workshop prerequisites, which I think may have also paid off. This time we had plenty of laptops for people to work on - more than 1 for every 2 people. And I don't think anybody came unprepared for the UML we used. (Also, this time around nobody went to the wrong venue!)


1. How would you rate the event on the whole?

GOOD - 100%
POOR - 0%

2. How would you rate the material covered?

GOOD - 100%
POOR - 0%

3. How would you rate the coach (yes - that's me, folks!)

GOOD - 82%
POOR - 0%

4. How would you rate the venue and location?

GOOD - 36%
POOR - 9%

5. Would you come to another parlezuml.com event in the future?

YES - 100%
NO - 0%

6. Would you recommend this event to a friend or colleague?

YES - 100%
NO - 0%

Remember my little scoring system? A GOOD is +1, an AVERAGE is 0, a POOR is -1, a YES is +1 and a NO is -1. The final score looks like this:

56 out of a possible 66 - or 85%

Here we some of the comments.

About the event as a whole:

"Good topic. Novel approach"

"Very useful to knows how to assess if a design is good. Helpful when presenting it to other designers"

"Some interesting ideas... Good mix of lecture and exercises"

"Excellent course"

"Pace was very quick, so at times wasn't enough time to grasp the concepts"

About the material:

"Good pace; well presented"

"Metrics could be uesful"

"Good addition to basic OO knowledge"

"Very interesting"

"Very heavily documented"

"Material was concise and to the point"

About the coach:

"Easy to follow (i.e., not boring)"

"He knows his stuff!!"

"Explained the concepts clearly"

About the venue:

"Difficult to get to"

"Too hot!"

"A bit hot!"

Proof Of the Pudding

Out of the 13 who attended, all 13 remained until the end of the workshop. Having said that, one of the 13 arrived at lunch time, so maybe that doesn't count. Even so, a lower attrition rate than the first workshop.

What Next?

There's no doubt in my mind that functionally this was the better OO master class. I'd managed to iron out some of problems raised at the first workshop, and I think the participants came better prepared and - as is often the case with workshops and with programming - taking my time on each design principle actually helped us to go faster, covering more concepts in less time in more detail.

The "left-brained" part of the feedback on the event as a whole and the material scored higher than the first workshop. Having said that, it left less time and bandwidth for idle banter. As a result, i felt I built up less of a rapport with the group, and this might have been reflected in the marks given for me as a coach. (If anybody needs me, I'll be at the bottom of the garden eating worms!) I think maybe the short lunch was a mistake - though an early finish is very attractive.

There was also some more wordy feedback about the source code people had chosen for the afternoon session. I think people were having difficulty with their choices - perhaps if they'd known what I was going to ask them to do, they would have chosen different code. I do bring along some source code (the code for JDepend, as it happens - chosen because we actually cover the metrics that the tool calculates) for people who are stuck - but they'll need to know Java. I'll have a think about how I could make the choice of source code easier.

The weather was the worst kind of summer we get here in the UK. Hot, overcast and sticky. In that light, a converted school house with no air conditioning was probably not such a smart choice of venue. Yet again, the location didn't suit everybody. I'll need to look around for a new venue for the winter e-Cademy.

On the whole, a positive event, with many more valuable lessons for me to learn. I'm grateful to everyone who took part for helping to make it a success.
Posted 2 weeks, 6 days ago on July 28, 2006