Sorry this page looks weird. It was automatically migrated from my old blog, which had a different layout and different CSS.

Acts As Enterprisey

Let’s face it, we all want the big bucks. And we all know Consultancy Law No. 1:


Your Rates Are Proportional To Your App’s Enterpriseyness

Rails make life easy for us but — and it’s a big but — we don’t want it to look easy. My acts_as_enterprisey plugin is your friend.

How does acts_as_enterprisey make webapp development look hard? Well, the only way your client can judge your app is by playing around with it. What better gives the feeling of heavy weights being lifted behind the scenes than slow response times? Exactly. That’s what acts_as_enterprisey does.

So while your client clicks, *waits* …, and then gets the page, you can blather on heroically about wrestling with clustered indexes, cache expiration strategies, n log(n) seek times, etc ad nauseam.

Usage

Simply insert acts_as_enterprisey in your ActiveRecord model. That’s it. (It wouldn’t be much use if you actually had to do some work to make it look hard, would it?)

For example:

class ShuttleLaunchSequencer < ActiveRecord::Base
  acts_as_enterprisey
end

This slows down all the ShuttleLaunchSequencer’s finders by 2 seconds. What’s a few seconds here or there?

Another example:

class GpsSatelliteBeacon < ActiveRecord::Base
  acts_as_enterprisey :delay => 3, :random => true
end

This slows down the GpsSatelliteBeacon’s finders by a random delay between 0 and 3 seconds. It’ll make orienteering more fun.

You can feel your rates rising already. I know it.

Strategy

Clients pay you to solve their technical problems. They want to feel like they’re getting their money’s worth. Especially after you start submitting enterprisey invoices.

So make their wishes come true: it’s only fair. Ethical, even. Crank the delay up as the deadline approaches, make them sweat, display fortitude and perseverance, etc. And when they can’t take it (the app’s sluggishness, your bills, whatever) any more, whip out the acts_as_enterprisey from your models and book the flights to Vegas.

Installation

Install in the usual Rails way:

$ script/plugin install http://opensource.airbladesoftware.com/trunk/plugins/acts_as_enterprisey

Final Words

I considered spewing random stack traces into the logs, a sure-fire sign of enterpriseyness admirably exhibited by, for example, a certain Java webserver. But since clients don’t look at server logs, there’s no point.

Still, it would have been a nice touch.

Comments

That’s just wrong.

Anthony Eden • 20 December 2006

Looking at the project we’re working on right now I feel you need to multiply your enterprise value by a factor of 10. At least.

We have a C# client, Java back-end, SOAP, Spring, JMS, Tibco, Hibernate, Drools, stored procedures, clustering - it really doesn’t get much more evil, sorry enterprise than this.

Like rowing through treacle. Upstream. Without a paddle.

Olly • 20 December 2006

Andrew Stewart • 20 December 2006 • Rails
You can reach me by email or on Twitter.