Was is it a hard sell or natural progression? What was your path to adoption - small test bed project first or did you jump straight in?
At my previous job it was a natural progression - I got it in the door with a couple of small internals app. Then everyone saw how fast I was developing, and my boss let us go all Rails all the time.
No really, only programmer where I work, so I did one part of our site in rails and said hey look at this, I developed it quicker, the code is cleaner, and I haven't even fully got up to speed on it
As a freelance developer, I can almost always pick what technology I use on a project. But I always research first in my own internal projects before I use any given technology for a client.
I gave Ruby and Ruby on Rails a two month learning period with almost nightly reading and hacking with the book "Agile Web Development with Rails". This was followed by a four month internal project, referring back to the book when I got stuck, looking for answers online, etc. Once I was comfortable using the technology for real work, I went looking for real projects. I was lucky that a friend had actually started a project of his own using Rails and was looking to hire someone to take over development when he got too busy to continue working on it.
Smooth. I interviewed for the job in December 06, we talked about the technology that had been chosen for the new project (microplace.com) and I suggested Rails.
I had no real experience with rails, only a few small toy apps. The same went for everyone else on the team. Java and dotnet would have been a much more natural choice, but everyone was intrigued by rails so we went for it.
The business folks were relatively nervous about the choice but ultimately they let the tech team make the technical decisions, and everything worked out.
My plan b was to build the site on my own time using Rails and after a a couple of weeks compare what we had done as a team in java/.net with what I have built with rails on my own. I have no idea if this plan was a good one or not, since plan A worked just fine.
I'm dealing with another programmer that has an established PHP code base. It's absolutely horrid and doesn't even use MVC principles, no documentation, or whatever, and doesn't believe in using standards "because they are slow". So it's not really an option for me to develop on it. I'm working in a startup type environment and just writing my own thing and hoping to out develop the other guy. Once I get up to speed I'm hoping the benefits should be obvious.
Well, as the only developer at my employer, I chose Rails for a complete site re-do. The current sites I maintain in ASP.NET, Coldfusion and PHP drive me absolutely batty! Code organization is horrendous and everything is hodge-podged and intermingled. But I almost chose against Rails when I saw what deploying it was like! We host our own servers in-house. I was also the Windows systems administrator at the time I started the project and I almost gave up on it all. But I hung in there and now I know a little something about Linux and friends to boot!
Well, when I joined my current company everything was implemented either as local Access databases or as a crazy combination of WinForms and Asp.NET. I tried my best to convince everybody of the advantages of Rails, but nobody wanted to believe me. So I chose the path of recreating an existing application in rails. Ok, that's not entirely true, as the rebuild was far more advanced with respect to functionality and far easier when it comes to the user interface. It took some time until my coworkers started to adept to this new application. but now, after one year and some code cleanup, they go crazy about it. In order to implement all these new features they would love to see, I would have to quit working for our external customers - currently not possible. So from being the underdog application, this rails app has become the most essential tool everybody is working with. This includes developers, management, accounting, and even external customers can access the system to check project status. And I got a go for my apprentice to learn rails right now, so I can assign him to the project soon.
I was tinkering with rails in my spare time trying to covertly come up with a clone of our legacy perl/cgi web app. After a sales meeting post-mortem, my boss and I had a chat about how our current software falls short and how I have lots of trouble with patching its unorganized spaghetti code; making changes to an undocumented, un-testable, and non-revision-controlled codebase.
He said that perhaps we should give some consideration to re-architecting it. My boss knew I was going to the local Ruby and Rails meetup regularly, and asked how feasible it would be to rewrite in Rails.
I'm way past my estimated release date right now, but I can attribute a lot of that to my wanting to provision and setup a new server (our existing infrastructure is all windows server), set up subversion repository, set up Retrospectiva (like Trac but written in rails) to track the repository and serve as trouble ticket system, and get a handle on deploying rails with apache and capistrano.
I'm still churning out high-quality organized code in a fraction of the time I could have brought the legacy app up to snuff.