Bringing Ruby on Rails to the Enterprise- How?

Hi!

At my company in the Phoenix, USA area, we are preparing to work on a
new version of our large proprietary in-house ASP classic web
application. Since we are going to essentially be rebuilding it from
the ground up, we are going to choose a single technology for our
future direction.

The application must be capable of being hosted, and of scaling well.

The president of the company has been in touch with some local
consultants, and they want to use .NET to build it. Internally we are
an all Microsoft shop, but since our application is hosted, the
backend technology does not have to be windows. Now, these consultants
are smart and savvy, but sadly they categorically reject the school of
thought that says that RoR might be a possibility for this project.

Personally, I feel that RoR would be a great fit for this project. But
I am not the final decision maker.

We’re having a meeting at some point fairly soon to discuss the pros
and cons of RoR and .NET. I need (a) some ammunition to discuss at a
serious level why RoR might be a good fit for the solution here, and
(b) also the name of a good RoR expert who would be willing to be a
consultant for a few hours and meet with us to discuss our future tech
direction. Phoenix area would be preferred, but a teleconference is
workable.

Thanks a ton!

Jay

Hi

Sadly a lot of corporate guys just don’t get it. You can start with
the book “From Java To Ruby”.

We recently took the decision to move from Lotus Notes to Rails. We
have 0 experience in Rails. The 3 or 4 developers are willing and
eager. So we hired a couple of Rails wizards (one is on the core team)
to give us a one day crash course. And we are on our way.

It is slow going in the first 3-4 weeks but I am unfazed. It gets
better everyday.

I am fortunate in that I am the CTO so I could take the tough
decisions when I see that they are the right ones :slight_smile: BTW my company
has about 1000 employees so our enterprise stuff is not that complex.

The same mentality used to plague Java. Now that Java is mainstream,
you see the same arguments raised against Ruby and Rails.

For me, I have a couple of guys developing in another language, which
will become huge in 2 years! But that’s another story. Rails IS the
platform for web-based work.

Hope that helps! (Many enterprise apps are similar - I would like to
see if there are ways the community could share the development.)

Cheers!

My experience has been that taking on a few small projects, in Rails,
“out of sight” of the Java and .NET zealots is a very good way of
getting Rails into an enterprise. You need to pick a project that’s:

  • big enough to create an impact, but small enough that it can be
    worked on unnoticed until it’s in a demonstrable state
  • doesn’t necessarily have “carved in stone” requirements, so Rails’
    agility can shine. In particular, when you finally show it off and
    someone says “That’s great, but I’d really like it to do X as well”,
    you want to be able to implement X quickly (i.e. many times faster
    than could be done in Java)
  • something that will actually make peoples’ day to day work
    easier/more enjoyable/faster/… so that it creates a positive feeling
    in the minds of a large mass of people, as distinct from that big
    group of “here’s another boring app that we have to use, in addition
    to everything else that makes my working day miserable” applications

Examples that have worked well for me (I consult to many large
corporates) include:

  • on demand, parsing large quantities of application log files,
    matching up common events across data files, and producing summary
    data in an easily digestible format. Easy win (trivial app, cuts out
    hours of manual work), high visibility (since the results are widely
    viewed each day), agile (messages link back to a knowledge database,
    and the requirements for this have been fine tuned over time). Sure I
    could’ve done this with e.g. shell scripts and email, but making it
    something that could be driven from a Web browser and having results
    that come back in a browser with color highlights, drill down
    hyperlinks etc. makes for a very positive response
  • presenting statistical reductions of large datasets. This used to
    be done by some guy in a backroom (me!) running a set of R scripts and
    emailing the results around to a bunch of people who largely ignored
    them; now the same scripts produce a bunch of graphs automatically and
    present them via a nice AJAX-y interface to the same group of people
    who are amazed that they’ve never seen the data exposed in this way
    before… Easy win (the R scripts were already done, and the rest was
    gravy)

With Java or C#, neither of these would’ve actually gotten done - the
time required would have been too much for the apparent benefit.
However, leveraging Rails to do it in a fraction of the time means
that the work actually gets done, the benefits turn out to be much
greater than originally estimated, and I look golden. I did both of
these apps at home in a couple of days, demo’d them, and the clients
were happy to pay me for the time worked in both cases. Win-win

I probably wouldn’t advise starting out with the next
bet-your-business app though.

Regards

Dave M.

I love Rails as much as the next guy, but they haven’t all been good
days. I actually just blogged about some of the challenges I’ve had…
http://www.prestonlee.com/archives/105

Preston

Absolutely - once you take away all the cruftiness of Java and .NET,
the costs drop way off and things suddenly become do-able.

Actually, that might be the answer for the original poster - find a
useful project that can’t be justified (due to cost) with Java/.NET,
and do it in Rails as a way of bringing Rails into the enterprise.
There’s sooooo many projects that fall into that category - many
people in big biz spend loads of time doing tasks that can be
automated, but never get around to doing so because the cost of doing
it is too high.

Dave M.

On 4/17/07, David M. [email protected] wrote:

My experience has been that taking on a few small projects, in Rails,
“out of sight” of the Java and .NET zealots is a very good way of
getting Rails into an enterprise.

The zealots can trip you up by setting up straw man challenges. We
have had the same problems trying to ‘justify’ our use of say
web-technologies
for a remote UI in a Java app. Results-oriented promotion is always the
best.

With Java or C#, neither of these would’ve actually gotten done - the
time required would have been too much for the apparent benefit.

David you totally nailed it here. Java/.NET put too much work in the way
that trivial jobs become non-trivial and are de-scoped from project
plans.
Over time this becomes the norm, and these developers just reject the
concept of quick opportunity deliverables.