A series of recent events just caused me see Ruby on Rails from a new perspective: how, in one small way, it helps to enable collaboration. There is a short cause-and-effect story here, so please bear with me…
A few days ago James Britt asked on the ruby-talk mailing list what people were using to replace Meetup.com now that they started charging outrageous prices. I offhandedly mentioned that John Long and Ryan Platte were planning to write a replacement for Meetup.com in Rails as their entry in the Rails Day competition (they are still looking for a third partner if you are interested).
I’m not planning to enter the competition myself. But I began to ponder about this: if I was going to join in and partner with John and Ryan, how would we divide up the work so that we could work effectively while being physically remote.
Now I realize that there is nothing earth-shattering or profound about my answer to myself—it’s really a small thing. I would quickly define a first-cut on the database schema, create the models and generate scaffolding for them… the easy stuff in Rails. Within minutes, we would have a live, functioning database and a skeleton webapp with CRUD operations on all of the tables.
This would be the starting point from which the team would begin separate development. Everyone on the team would have a fully functioning system on which to begin crafting their particular UI assignments.
I’ve always appreciated this aspect of Rails for individual development, but it hadn’t occurred to me how easily this also enables group development.