« Beautiful Code: Released! | Main | Dealing with a Special Boundary »

July 17, 2007


Martin Cron

I've found that examples can't be fabricated, and that they have to be harvested from actual projects.

I recently was trying to explain some design patterns (Decorator, I think) using a toy example and it was turning into a mess. So I stopped, thought of the last time I actually used it to solve an actual problem, and it was much better.

Michael Feathers

Martin, yes, the only problem is, as a consultant I have to deal with confidentiality issues. It is true, though, some of the best examples I've come across are rooted in real situations.. but I often have to change the domain to protect the innocent (or guilty) as the case may be.

Keith Nicholas

Bizzare. I have a half finished blog post on this very subject :-)

ages ago I got the book "Telling ain't Training" and I keep revisiting it.

The other aspect to adult training that makes it difficult is that adults want to have input into their learning process. So having a couple of canned problems / examples can be problematic.

I think the rescuing idea is that if you can sell people on the problem you want to solve.

I recently watched http://www.dnrtv.com/default.aspx?showNum=63
where jean-paul boodhoo does a pretty good job of showing some design patterns in a context that a lot of .net developers would probablly relate to.

In the book Telling aint Training there's a nice story of a trainer making up a "meta" story about why a bunch of financial guys should be interested in a pretty boring form.

so I think you can either find relevant stuff or sell the relevance of "toy"s. I dont know which ones harder as I struggle with both

Michael Feathers

Keith, thanks. I'll take a look at those references.

iPhone contacts backup

when and how. I even don't know why this change.

The comments to this entry are closed.