Productivity with Ruby on Rails
I’m currently building a web application using Ruby on Rails for my agency. Its primary purpose is to facilitate communications within the projects that are being worked on. So I guess it bears more than a passing resemblance to the original Rails application, Basecamp. But the main point of this post is now the application itself, its the process of constructing it.
When Rails first burst onto the scene, productivity gains compared to heavier frameworks/tools were optimistically estimated to be 10x, 20x greater. As the initial hype wore off and people of more varied experience started using Rails to develop their own applications, these people reported the gains to be at a more realistic 4x to 8x. I’ll admit readily that that I was swayed by these early numbers, I never did like the code, compile, package and deploy cycle associated with J2EE. So when the opportunity to use Rails in an actual application came up, I grabbed it without any hesitation.
Working with the framework has certainly put things in a clearer perspective for me. While my productivity has definitely improved from using Rails, it hasn’t exactly been the 8x jump that I had hoped, or even 4x from before, when I was using PHP. While ActiveRecord is great as an ORM, the costs or tradeoffs always come from having to learn the intricacies of the framework and having to change my way of software thinking to the framework author(s)’.
Reading Fred Brooks’ The Mythical Man-Month really brought home a lesson I should have learned way before:
There is no Silver Bullet.
Rails is no exception and its creators don’t refute that.