- The action or doctrine of destroying sacred images.
- The attacking or overthrow of established or venerated institutions, practices, or attitudes.
See also IconsRevisited
Interesting definition. An iconoclast is anyone who "attacks established practices". That would include most comedians, many politicians, and sales reps for any startup idea. Under that very broad umbrella, anyone with a new and different idea gets to be an iconoclast. With such a broad net, it should be easy to catch XP in it.
That's not the definition that we're interested in below, which is "the action or doctrine of destroying sacred images".
This tentative thought process came out of ongoing reflection on an interaction I witnessed in a small group at OtNinetyNine
in March between KentBeck
(who had just given an inspiring and thought provoking keynote address) and a delightful programmer who had already rekindled my interest in jazz as an analogy for XP team development. (see AnalogiesFromMusic
This guy [please correct any of this and provide name and email if you read Wiki - if only to explain more about CharlieParker
as a model for the XP programmer] was clearly, like so many old programmers, absolutely delighted with XP, not least because it emphasised and honored the practices that he as an old Smalltalk pro knew really worked - and gave us all useful and hard-hitting names for them. (That's really important, thanks Kent, Ward or whoever came up with the XP terms and slogans. It's one thing we really lacked in the old EvolutionaryDelivery
days of TomGilb
- slogans that made sense and made a difference to what programmers were actually doing, not just to the relationship with customers. We should come back to that.)
Anyway, I painted this background because I had the utmost sympathy for this guy when he asked the following question:
- "My current project is using RationalRose - we have no choice. It seems a reasonable tool in some ways. Can't we do XP effectively with RationalRose?"
I would probably have been tougher though (more extreme?) than Kent in the way I answered. What Kent in fact said [again please correct the details because I know you
do read Wiki!] has stayed not far from the back of my mind since and remains for me a classic example of the DifferenceBetweenTheoryAndPractice
- one that I'm not sure that XP has yet settled satisfactorily:
- "There's no reason at all in theory that you can't use RationalRose and be extreme. However I've got to say that in the last project when we had someone who insisted on using Rose, he went on to design and code a totally unnecessary class hierarchy that took us nine months to refactor out of the system and was a complete waste of everybody's time."
Because of so many years' similar experiences I would have been much more inclined to immediately make ExtremeStatements
about the whole Case and UML 'mythology' along the lines below. Because one thing by that time that I loved about XP as descriptigated on Wiki (the annoying verb is used to acknowledge the authorship and thus authority subtleties with this medium) was what I now want to call ExtremeIconoclasm
The quick summary
There's nothing quite like smashing a few beautiful and possibly very expensive works of art that are highly regarded by 'the enemy' to convince ourselves that WereAllExtremosNow?
The boring version
The irony of BigDesignUpFront
as a creed is that human beings simply can't achieve it - in fact in the end we have a simple choice between ExtremeHumility
, where we forget our ego without losing our ambition, and DesignByExhaustion
, where we strive at all costs to preserve it.
The analogy that has been become real strong for me since talking to an old colleague NeilDyer
last week is that of impossible religious creeds and rituals and the exhaustion that goes with trying to adhere to them. Has something concrete like RationalRose
become a modern day icon - the shrink-wrapped box, CD or screen icon (see!) that must be prominently on display for our project to be 'blessed'. As reformers are we intent on ExtremeIconoclasm
not because the icons are harmful in themselves but because of the soul-destroying belief systems that they almost always seem to bring with them ?
As for the priesthood ... does CollectiveCodeOwnership
(and the even deeper point that all programmers are designers, as made in DesignInXp
and reflected by the job titles we for one gave all our people since 1988) perhaps mirror Luther's PriesthoodOfAllBelievers
- surely one of the greatest but least practised of all slogans in history until Marx gave us "Workers of the world ...".
rightly corrects me that Luther wasn't into smashing icons in the physical sense. I use him here only because most 'reformers' have to deal with an opposing 'priesthood' of some sort and he came up with one of the most effective slogans about it. Unfortunately he and his followers weren't so bothered with the practical outworking - see ReformationAnalogy
. I find this both an amusing analogy and a warning for XP on the DifferenceBetweenTheoryAndPractice
. But don't worry I'm not that
bothered about software. It's Jesus, long-suffering Lord of the church, that I would give my life for.]
There's another explanation for the materialists among us (in fact highly compatible with the historical analogy I would say). It's simply that because these tools have in the past involved quite a large up front monetary investment, the managers' and proposers' egos are on the line too much not to find something very 'useful' to do with the tool.
Either way, I do believe in ExtremeIconoclasm
because I think that it is still badly needed. To be quite honest, I was disappointed with the first book (EmbraceChange
) because it seemed toned down in this respect compared to much of the Wiki material (thanks for sharing from the heart Ron!). But I accept that wiser heads than mine have probably prevailed. --RichardDrake
Iconoclasm is a powerful and dangerous tool. No reformer should be without it. But no reformer should forget that it is just one of many tools.