(resurrecting an old thread)
I like this analogy because it describes the resistance to LLBLGenPro as well as the benefits.
I'm a contractor and I am at a new company every 90 days or so. At every(!) location I visit I recommend LLBLGenPro. Some bite, others don't.
Most developers get the benefits right away. Some will invoke religion about this product or that, and others will drag out some hand-crafted generator they did in their spare time and will consider it an insult if you don't declare it just as good - or good enough. In my experience the good developers see it as a burden lifted, and want to jump.
But the biggest resistance comes from the managers. This is where the product dies even if every developer wants it.
A manager hires people who already know how to drive cars, and he knows that if he adds 'can you drive a locomotive' to the mix, he'll either get no resumes or have to teach every new hire on this rather sophisticated technology. (Don't think it's sophisticated? Sorry, it is. Get used to it. Most developers barely understand the simplest methods in vb.net and don't even know the concept of design patterns. That's the real world - take it from a contractor who makes plenty of money from this fact...)
The manager also knows he'll have to build a railroad where others have already laid roads going everywhere. This is expensive and time consuming, and there's no budget for that. There's plenty of money for the product - which has always been underpriced in my mind. But the price doesn't reflect the real cost of training, of hiring more qualified people, of adding another process to the mix - aka securing rights of way, laying tracks, hiring railroad engineers, etc. These are the costs that stop the product. For cars, the government (aka Microsoft) has already laid the roads, and a developer knows how to drive the API streets, or can be trained cheaply at some silly junior college.
I've never been able to overcome this resistance. As far as I'm concerned, answering this is the magic bullet that gets LLBLGenPro used everywhere.
My personal answer to this is something that I know Frans resists, and that's creating a version with certain features enabled but blocking off others. For instance the new dynamic data stuff. By getting a free entrenched version of the product in house, getting the managers comfortable with the tool, you're only a purchase request away from getting the full (paid) version implemented.
People use trains because they didn't have to build them. If they had to build a new locomotive every time they wanted to go to the store they wouldn't do it. Getting the software in manager's hands, getting them dependant on it without an obligation to buy, and with their knowledge that all they have to do is cut a PR to extend it all the way allows them to justify building the railroad with no more effort than handing over money.
The demo version for LLBLGenPro is great, but NO manager will integrate that code into the mainline code because it's a demo and likely to go away. Give him a freebie of some portions of the product and you're in the SourceSafe stream - he's dependant on you because you're deeply embedded in his code. If he wants more he's less afraid because you've already proven yourself a valuable partner. I've seen more codesmith cr*p in major products for this very reason.
Where Steve Balmer would say "developers, developers, developers," I would say that the key to getting LLBLGenPro out there is "managers, managers, managers." However, I refuse to combine that saying with a sweaty dance.