At last month’s XPDay 2013 (it wasn’t just about XP, it wasn’t a day, but it really was 2013) Joseph Pelrine kicked off a fun session on “teaching a new dog old tricks”. The driving idea was that there were a lot of extreme programming (XP) practices that we used to do years ago, but which have now fallen out of favour… could we teach those old tricks to some of the new dogs on the block?
As a group we jotted down an awful lot of original XP practices (yesterday’s weather, the CI machine, the planning game) and had a lot of fun sharing stories (“You mean you only had one machine to do the integration? You had a stand in a line to use it?”)
However, something struck me amid the story-telling: We aren’t actually a “we”. Of all the things listed on the flipchart I personally have dropped one or two, I still do most of them them, and a few I never did at all. Similarly other people had a different mix of do/didn’t/dropped.
One comment was that we used to know why we did these things, but that so many people today don’t ask or know why—the practices are accepted without question and therefore often implemented inappropriately. My own experience is different. Perhaps because I often work with teams at the start of their Agile journey they are constantly asking why: Why are you asking me to do this, why I can’t I do it like that, why should I change…?
It struck me that while it’s fun to reminisce about the (good?) old days, we shouldn’t take each others’ histories for granted. We have all arrived at XP and Agile from different places, at different times, with different pressures; some of our histories overlap, some differ wildly. There are many tricks the old dogs can teach to the new ones, but there are also many the new dogs can teach the old ones. Including the one about understanding that everyone’s background is different.