[OT] What's so special about Rails?

In one of my next articles for O’Reilly, Boss will ask CB or Paul to put
together a short ‘argument’ that he can use with his management and
business customers to expand the IT group’s use of Rails. What follows
is my current stab. Any feedback is appreciated.



What’s so special about Rails?
The Business Edition

Rails allows project teams to communicate more effectively and
efficiently, to reduce the waste that miscommunication causes, and to
reduce the costs of insuring against it. It does this by fundamentally
enabling the use of working prototypes and automated tests in our
development process.

Prototypes are the most effective way to gather and validate the needs
of consumers of I.T. systems. Business analysts can be quickly trained
to produce Rails prototypes. And Rails prototypes aren’t “throw aways.”
They’re working Rails applications that the programming team extends to
make “production ready.”

Automated testing is the most efficient way to execute large numbers of
tests. In addition, experience has shown that the development of
automated tests, done concurrently with the development of the code to
be tested, increases the both the efficiency and effectiveness of the
development process. Automated test capabilities are an integral part of
the Rails framework. Testers can be quickly trained to produce
automated test suites with Rails to deliver, along with the
customer-validated prototypes, to the development team. Those tests
provide guidance to development and provide assurance to the customer
that the completed application will perform as required. The
development team extends that test suite as it extends the prototype,
providing ongoing assurance that the application performs both as
required and as designed. And all of the tests can be delivered with
the completed application to the Operations team to help them validate
that the production environment is configured correctly and that the
application is functioning correctly prior to “going live.”

Because business analysts and testers can use the same tool set the
developers are using, Rails makes possible a level of communication that
we’ve never had before. Our entire project team can “talk the same
talk” and “walk the same walk.” Used with intent and discipline, Rails
can produce teams that are connected from idea to implementation;
delivering more value, cheaper and faster. That’s special.