One of the main reason many developers choose Rails is its promise of increased productivity. As many people in the rails community claim "It is the fastest way of going from and idea to implementation". I have seen anecdotal references to Rails vs. java OR Rails vs. PHP coomparision claiming Rails applications to be 3-5 times faster development time.And there are numerous screencasts and blogs that show you how to develop a database application from start to finish in an hour (or a day) with few lines of actual code logic.
For small to medium complexity applications involving less than 10 developers and loose processes (requirement analysis, design specifications , documentation, etc.) this may be true.
But can you really extrapolate this level of productivity to a large project involving multiple teams and highly complex requirements for scalability, performance and enterprise integration ? We were about to find out...
Rails like many of its open-source predecessors such as Java and PHP is going through a chaotic phase of rapid innovation and accelerated growth in terms of ideas, features and implementation strategies. We witnessed similar growing pains with Java during its early years between 1996 - 2000. New versions and patches of core java libraries kept coming at you faster than you can keep up. No one really cared about such things as "backward compatibility" OR "continuity". Upgrading to a new version meant rewriting many lines of code and re-testing the whole application.
Fast forward to 2009, we have many more channels for distributing and finding information about Rails. Beyond 100s of books and websites, we now have numerous blogs, forums, feeds, facebook, twitter and other social networking and search engines that are a "click" away from getting us the information we need. Obviously not every blog, forum and facebook page can keep up with the current status of Rails and many of its off-shoots (gems, engines, plugins, etc.)
Unless you are part of the Rails core team OR somehow wired into the internal development of Rails, it is extremly difficult to find right answers to your questions.
The code compatibility paradox
One of the frustrating aspect of developing with Rails is knowing if a particular gem, engine or plugin is compatible with the version of Rails you are using. Most of the plugin repositories (gitHub, agilewebdevelopment.com) don't always provide information about the version compatibility. Rails has not yet evolved to a point where we can establish an independent certification body (open-source OR commercial) who can provider a seal of approval for compatibility for Rails versions with a myriad of gems, plugins and application code.
Here is an opportunity for a budding entrepreneur to provide such a service.
I should point out that this is not unique to Rails. Java went throuh the same problems in its early years. The end result is that developers spend inappropriate amount of time debugging and fixing code of gems and plugins which defeats the purpose fo code reuse and resulting productivity gain. We have spent many hours and days weeding throuh code of plugin/gem only to find that it has not been upgraded/tested with the release of Rails we are using.
Before I write more, I would like to hear from others what they think about this problem. And how Rails community can address this issue.