June 10, 2006

...Learn TDD with Codemanship

OOD Master Class - Feedback From June 8th

We kicked off the 2006 Summer e-Cademy with an Object Oriented Design Master Class.

In test-driven development, your code is only as good as your tests. In training, your workshop is only as good as its participants. My recurring nightmare is of participants who sit back with their arms folded and make no effort at all. Gladly, I had nothing to worry about on June 8th.

The participants made short work of my "hard" exercises. I was impressed at how these folk got stuck in and didn't need or ask for any spoonfeeding.

The workshop starts by throwing participants in at the deep end with one of the most complicated metrics, and there's always a danger that your audience might drown before the first coffee break! On the whole everybody did far better than I expected, and I'm genuinely heartened to learn that there are more people out there who take their profession seriously and are capable of doing such good work.

Design quality metrics were a very significant component of the workshop, and metrics are a central theme to this summer's events, so it seems fitting to have my own suite of metrics for the events themselves.

First of all, there's the feedback I got (anonymously) from the participants before they left. The feedback form asked 6 questions, and here are the percentage of votes for each option:

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

GOOD - 80%
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 - 100%
POOR - 0%

4. How would you rate the venue and location?

GOOD - 33%
POOR - 0%

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%

Then I created a little scoring system, where 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:

47 out of a possible 54 - or 87%

Some of the comments have been very helpful, too.

About the event as a whole:

"Learning new stuff about OO and TDD which will help me"

"Just rushed in a few areas"

"Probably pace too quick. Would have been better over 2 days*. Maybe a project worked on and an eventual refactoring would be better?"

About the material:

"Has enforced the point that metrics is an important part of Agile development"

"It would be good if you clearly labeled the metrics so that the goal is clear (is 0 good, or is 1 good? etc)"

About the coach:

"Friendly" (they'd crossed out "nice man", and quite right, too!)

"From what I can tell, excellent knowledge and the ability to pass the knowledge on**"

About the venue:


"Nothing special, but did the job"

"Difficult to get to for me"

"Location wasn't easy to find"

Proof Of the Pudding

Of course, I would be a Silly Billy if I relied entirely on a feedback form. The real test of any event is whether people come back for more. As the year unfolds, we will see how many people book places on other events, or recommend an event to a friend or colleague. There are limited places left for the summer events, but more are planned for Winter 2006 (including a mammoth 2-day workshop on techniques for producing (almost) bug-free software). I can say that on June 8th we lost one participant at lunchtime and one more in the afternoon coffee break. Out of 12 people who made it, that's an attrition rate of 17% - which is very respectable for a free event attended by very busy people.


What Next?

Acting on the feedback, I think the first thing I need to work on is the pace and scope of the material. Maybe fewer design principles, and perhaps some "here's one I made earlier" calculations and refactorings from Java and/or .NET code samples to help cement some of the more challenging ideas in people's minds.

I should also make a point of reinforcing the session's prerequisites, so everyone knows enough UML and has been primed to do calculations from models or from OO code with a couple of toy examples. Much of this material is available now, but I could make it much more accessible by collecting it together in a "Session Prerequisites" PDF. I should also stress more strongly the need for participants to bring their laptops and source code to work from in the afternoon, as we had as many as 4 people crowded around one laptop on June 8th.

The venue and location have had a mixed response. I will say - being the ruthless dictator that I am - that while the quality of the venue is average if you're used to working in decent hotels and conference centres (like wot I am) - it scores very high for price-performance*** and for the quality of the chocolate chip cookies. It will still be the venue for the remaining events this summer. What I can do is make getting there a little easier. Perhaps a minibus from the tube station might help? I will also endevour to see if we can get a room that is a little easier to find (though it was a pleasent enough room), or at least signpost the session more clearly.

On the whole, I think the Summer e-Cademy has gotten off to a good start, and I'm really looking forward to the upcoming sessions. If you want to book a place on any of the remaining sessions, you can find out more by clicking here.

* is that my accountant I can hear screaming?

** the cheque's in the post

*** is that my accountant I can hear laughing?
Posted 5 days, 3 hours ago on June 10, 2006