This post originated from an RSS feed registered with Ruby Buzz
by Obie Fernandez.
Original Post: Summary of My RailsConf 2006 Talk
Feed Title: Obie On Rails (Has It Been 9 Years Already?)
Feed URL: http://jroller.com/obie/feed/entries/rss
Feed Description: Obie Fernandez talks about life as a technologist, mostly as ramblings about software development and consulting. Nowadays it's pretty much all about Ruby and Ruby on Rails.
I presented a talk at RailsConf 2006 named "ThoughtWorks on Rails" and I tried to really answer the question: Is anyone doing real projects with Ruby on Rails? And by real projects I meant, not one-page Ajaxy, web 2.oish type of project, but rather "enterprisey" projects lasting months at a time and employing large groups of software engineers. In other words, ThoughtWorks' bread and butter. The answer is a resounding YES.
Here are some of the main points I stressed in my talk.
Throwaway Apps are still useful TWIX is the name of the social networking site that Carlos Villela and I started but never finished in the Spring of 2005. It was impressive enough to get important people at ThoughtWorks excited, which led to an executive meeting with DHH where he told us he wanted to "change the world" -- that comment really opened our minds about taking on billable Rails work.
Be opportunistic In the Summer of 2005, I was doing Java work at a very large manufacturer. We finished our app in record time, but needed something to test its integration with other applications. I whipped up a good-looking sample data generator in about six hours, three of which were spent mining Google images for bakery-related graphics. It was basically a GUI-driven integration test masquerading as a Bakery RPG. That little toy app led to a bunch of other Rails opportunities opening up.
Listen for "what we really need" That's how we landed the COA project. We got it done in less time than it usually takes that company to decide that it needs to consider a decision (8 man-weeks).
Ruby/Rails works for Kiosks Our kiosk project really impressed a lot of people. We designed it from top to bottom with all Ruby software on Gentoo Linux. Working in Ruby really helped the integration with USB devices such as bill validator and coin readers. The fancy UI was done entirely with Scriptaculous, running on a fullscreen-mode instance of Firefox. I got comments from the project manager of that effort, but unfortunately I was unable to fit them into my talk:
Nitin Dhall from ThoughtWorks India: "This was my first project using Ruby on Rails. The entire project was full
of pleasant surprises starting with the ease with which we were able to
integrate devices to speed of building the application. I was also amazed
with the speed at which the development team were able to incorporate new
suggestions.Based on my experience I can say that had we built this
application using any other technology stack, the development team would
have rejected half of those suggestions. The biggest surprise was when I
was trying to push out a new requirement for showing the configuration
details of the clients and the dev team said it will take 5 minutes to
build the new page."
Use outside hosting if necessary When facing local political concerns about wanting to deploy Ruby apps in a data center that only approved of Java and .NET apps, we simply leased three VPSs at eApps.
Be persistent Despite repeated fear on the part of local management that their big data center would balk at our Ruby hosting needs, we pushed on. Results have a way of cutting through enterprise-class bullshit. The answer from the datacenter was "We can't deploy it for you, but here is a VPS".
Ruby/Rails works wonders in the back office. Our work at the bank in Wilmington proved that Rails can work in situations that used to call for hardcore "enterprisey" stuff. We wrote a DSL-centric Rails app that crunches through millions of rows to generate some of the company's most important reporting -- they pay their partners based on the results of our system. We delivered the project at about half the price and time as estimated when we were considering taking a Java + rules engine aproach. Oh yeah, and the client was ecstatic with our work and even sent a couple of representatives to RailsConf.
Plan for transition time Our Rails project in California required a few weeks of transition time to get the primarily .NET folks ready to take over maintenance of our work. Some programmers used to working in VisualStudio may not have used the command-line since college. On the other hand, experienced OO programmers can get productive with Ruby and Rails in a matter of days, or even hours.
Hybrid systems can work well Our Rails project at wotif.com in Australia is a big Rails + J2EE system that integrates with RESTful XML.
I had a great time presenting this talk and many of the slides featured photos that can be found on my Flickr account, tagged thoughtworks.