March 22, 2006

More on James McGovern, Thought Follower

Some may think I’m being unhelpfully mean with my criticism of Mr. McGovern’s post. So, let’s try a different approach. Using the same basic content that James put together, I’ll demonstrate the difference between leading and following. I’ll indicate where I feel that I deviated from James’ content with italics.
How do we get Ruby into the Enterprise.

I’m a fan of Ruby, and an Enterprise Architect, and I’ve given some thought as to how Ruby might become important in the Enterprise architecture space.

First, the problems:

  • Enterprise architects are, by and large, a conservative bunch
  • Fortune 500 Enterprises are more focused on legal transparency than performance.
  • Ruby’s “enterprise infrastructure” is lacking
  • Model-Driven Architecture is taking over

Let’s address how we might be able to solve those problems:

Conservative Enterprise Architects

The key here is critical mass – nothing gets done in F500 enterprise architecture w/out lots of tongues wagging. We need one ore more of the following:

  • A large hardware vendor to adopt Ruby as a solution. IBM or HP are obvious choices. This is obviously hard, and largely out of our control. The best way to do this is probably to build Ruby up in small and medium enterprises. OVer time, this will help make it more legitimate and more interesting to build solutions around
  • Consulting Agencies (Bearingpoint, Wipro, etc) need to develop a Ruby practice. Thoughtworks is already doing this, and while they are small, they have a lot of press. This is an area where continued success will force the big consultants to take notice.
  • Articles about Ruby in the enterprise need to show up in major magazines. This is probably the easiest one – we know that Ruby has some legs, and magazines like to talk about interesting new things.
  • Coverage by analysts. Unfortunately, analysts are the classic lemmings – uninterested in new things, because they don’t like having to argue a position. This won’t happen until one or more of the others do.

Transparency over Performance

I bet you didn’t realize this was true, but yes, Fortune 500 companies are forced by Sarbanes-Oxley and other laws to worry much more about complete business transparency and ethics than they are about raw performance. This is not to say that performance isn’t valuable, but it is just not as important as transparency. And don’t forget, as an enterprise architect, I get several calls a day from people who tell me their product will improve productivity. But a product that could improve transparency? That would be very well received! A transparent enterprise architecture is one where every step is monitored, logged and compared to the last for correctness, where alerts are generated when things change in unexpected ways. Essentially, you need to think of your data as prisoners, and your enterprise architecture as the jail that they are forced to live in. If the data escapes, or it goes somewhere its not supposed to, you’re fired. What does this mean for Ruby? Extensive Security Analysis. Extremely accurate and voluminous logging, and a bunch of other things that I won’t get into here.

Enterprise Infrastructure

If your Ruby server goes down, how is that communicated to the operations team? How about detecting dictionary password attacks? What about integration with SNMP or JMX? Those are the kinds of things that enterprise systems need to support. You need books – on how to make Ruby applications monitorable and traceable, written by people with extensive enterprise experience. You need robust toolsets for integrating with enterprise authentication systems, with enterprise monitoring systems. You need development tools that make the already easy mechanisms for producing code in Ruby even easier.

Model-Driven Architecture

Over time, I’ve become a big fan of MDA, and I think it is the wave of the future. If this comes to pass (and I hope it does), then the traditional metrics of “it’s easy to produce code in language X” no longer really apply. However, I think there are some interesting things about Ruby that might make this easier – especially when you look at Rails – techniques that make Ruby-based MDA more robust and flexible to change than other language choices. I feel very strongly that agile development is on the downswing, and MDA is the wave of the future. But that doesn’t mean Ruby can’t keep up. Because Ruby is a programming language, not a development methodology. You may disagree with me, but that’s fine. I can handle a diversity of opinions on this issue without assuming that everyone else is a sellout.

There.. That’s what a Thought Leader writes.

12 Comments »

  1. I feel very strongly that agile development is on the downswing, and MDA is the wave of the future.

    I’m afraid I don’t share your enthusiasm for MDA. I don’t see agile development as declining at all, but rather diluting as it becomes mainstream. Perhaps you would care to elaborate in a separate post?

    Comment by Jeff Moore — March 22, 2006 @ 2:55 pm

  2. Heh.. When I wrote that line I paaused asked myself “Self? Do you need to put in a line at the end clarifying that you are speaking as James McGovern, and not as yourself?”

    I (JB) Do not believe that MDA is the wave of the future. It is clear that James believes that. It is a pity that he felt it necessary to take a nasty swipe at the agile community during his rant.

    Comment by jb — March 22, 2006 @ 3:37 pm

  3. Oops. I guess I got confused. Some skimming may have been involved. Phrases like “Enterprise Infrastructure” trigger that reflex. :)

    Comment by Jeff Moore — March 23, 2006 @ 4:41 am

  4. lol. In me, too.

    Comment by jb — March 23, 2006 @ 10:13 am

  5. Before you continue attack McGovern, you should reread his posting as many of the comments he stated weren’t held by him personally. He was merely amplifying thoughts of others.

    Hopefully after rereading you will right this wrong…

    Comment by Roger Culter — March 23, 2006 @ 10:57 am

  6. Hi Roger,

    As you requested, I reread the article. But my opinion of James’ post remains the same. It is 14 points of “why X isn’t possible”, which is unbecoming of a thought leader in any field.

    Anyone can criticize. Leadership is about providing constructive criticism that helps people move forward.

    Does this help clarify my post?

    Comment by jb — March 23, 2006 @ 1:09 pm

  7. Thought leadership isn’t just about originating all thoughts but encouraging others to do the same. I also never said that I personally believe in MDA but only mentioned that some folks in the agile community do…

    Comment by James — March 24, 2006 @ 11:50 am

  8. Part 1: Agreed. It would have been great if you had done that.

    Part 2: I keep rereading part 14 of your post, and I cannot understand how you could mean anything other than “MDA is the future”.

    But, I know that I am misunderstood in what I type, and I’m more than willing to give you the benefit of the doubt in that respect.

    Comment by jb — March 24, 2006 @ 3:41 pm

  9. Would love your thoughts on this blog: http://enterprisearchitect.typepad.com/ea/2006/04/enterprise_arch.html

    Comment by Roger — April 14, 2006 @ 1:56 am

  10. Roger,

    I liked it. It was well written, and made some strong points. I read through the entry, and the entries he linked to. I have to say, hard financials will beat “intangible benefits” every single time.

    Comment by jb — April 14, 2006 @ 3:05 am

  11. Don’t have such a low threshold for measuring success. Success is Java, .NET, XML, Web Services, SOA, etc. Ruby has potential and an upward trajectory but can’t yet be called successful.

    In terms of getting large enterprises whose primary business model isn’t technology involved in Ruby benefits Ruby by the simple fact that this demographic represents 90% (The masses) of all IT folks. More importantly, this same demographic has 590% more capital than the 10% that Ruby currently has. Capital allows folks to accelerate the growth, features and adoption of all the hard work the Ruby community put into it.

    You should noodle this thought and even if you agree slightly, you should amplify it in your next blog entry…

    Comment by James — December 16, 2006 @ 3:16 pm

  12. James,
    Your comment is fairly incoherent, possibly because you didn’t mean to direct it at me. In any case, I don’t understand what you’re trying to get me to agree with, and how it relates to the post at hand.

    Comment by jb — December 18, 2006 @ 3:11 pm

RSS feed for comments on this post. | TrackBack URI
You can also bookmark this on del.icio.us or check the cosmos

Leave a comment

XHTML ( You can use these tags): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .