One of the best features of Ruby on Rails development is the "Rapid Feedback Loop" that allows developers to quickly make a change and see right away how that new feature, enhancement, (or bug fix) behaves and looks in real-time.
This Rapid Feedback Loop actually becomes even cooler when you loop in the client -- the product owner requesting a new feature or enhancement. At Highgroove, we do outsourced development and feature additions for many different projects. We're always looking for ways to enhance that feedback loop with our clients. Here are few tools for quickly enabling an even more rapid feedback loop, that we can't live without….
Skype - Skype's Screenshare capability is fantastic, it works anywhere, between Macs and PCs, and is so quick to setup. We use it every day to say "is this what you mean?"
Skitch - Plastiq's Skitch is a screenshot tool that can go from screenshot to a private, shareable link you can send to anyone in about 2 seconds. It's the bee's knees for sending over a fix or showing off a new feature. Here's a sample that we sent a client just recently pointing out a few quick changes:
Capistrano and the Capistrano Extensions - Capistrano enables us to setup production and staging servers. We can push changes to a staging server in one command, so everyone can actually kick the tires on a new feature before pushing out to production in another one line command, with no downtime.
The Extra Desk in our Office - one of our favorite clients reminded me that they love the fact that can come sit with us in our office. When we say "is this what you mean," we can simply point to our screen.
The quicker we can enable our clients to see and feel changes, the quicker they can realize real value from a rapidly evolving project. We don't run into the problems traditional software companies face where developers can go off into a room and code for days before presenting their black box back to the stakeholders. Even with all the specifications in the world, nothing beats kicking the tires and rapidly iterating on a feature until it's perfect.