Wednesday, April 12, 2006

Meyfroidt's Law

I just stumbled across this interesting blog post concerning Meyfroidt's Law. Meyfroidt's Law (even the name is cool), says (and I am paraphrasing):

"Everyone likes to think that it's just India that is developing crappy code, but really it's everyone."

Yep. Everyone is writing bad code, and the evidence is that we've been doing it for some 50-odd years. Of course, I knew that. Didn't you? I thought the following quote from Steve Jones' blog post was particularly mirthsome:

"... You can't plan for everyone to be brilliant, you must plan to enable the brilliant to succeed and enable the rest to deliver without causing damage."
I must admit I am particularly guilty of having devised designs of such surpassing complexity and elegance (well, I thought they were elegant) that I was the only one who understood them. I am obviously much too clever for my own good. A better design would be a simpler one that even the slugs can understand. Clearly, I am not enabling the great unwashed (IOW: the marginal developers of the world) to deliver without breaking things. I guess I need to turn over a new leaf and start making the world much simpler.

As if. Of course, I am reminded of Einstein, who said: "Everything should be made as simple as possible, but not simpler." So, then, the real trick is in figuring out just how simple is simple enough.

I'll get back to you on that. OK?

Sunday, April 09, 2006

Should you be afraid of off-shore outsourcing?

I found this article via SlashDot. It's rather long, but Gina Poole, IBM Vice President of Innovation and University Relations (no kidding!), has some interesting things to say.

I'm not sure the decline in university degrees in computer science represents a negative trend. We really don't need a bunch of marginal performers in the market. True, having fewer new candidates seems to suggest a shortage, but if the quality of newly degreed geeks is higher, then I would be hard-pressed to say there is a problem.

Off-shore outsourcing is a pendulum that will swing both ways. If it works fantastically, which I doubt, then some US geeks will find it hard to get and keep their jobs. OK, that's bad for some borderline techies. They have to work at CompUSA, instead. But more realistically off-shoring IT won't work as well as keeping it local, so in time the pendulum will swing back and there will be less of a fenzy to hire Indian firms to write our mission-critical applications. Instead it will be IT executives out of work, but the net effect is the same.

The key to combatting this "threat" is to make sure you are in a position to offer something of value. That is, don't be a cog. Do something. Contribute. Innovate (yes, there's that word again). If you're just an order taker, then they will find someone else to do it less expensively.

Saturday, April 08, 2006

Book report: "Service Orient or be Doomed" is doomed

I've been reading a recently published book called "Service Orient or be Doomed", by a couple of guys who claim they're SOA experts. SOA, or service oriented architecture for the normal humans in the world, is a new idea in IT (information technology) that says, among other things, that if we build our systems as collaborating sets of interoperable, autonomous services, we can achieve a more agile business footing. That is, the company will be in a better position to adapt to changes in the business environment.

So far, so good. Yes, SOA is indeed the latest silver bullet to come down the pike, and though I believe the idea is very good and worthwhile, it's all snake oil. It doesn't exist.

SOA is just a very good idea, with nothing in the way of concrete examples to draw from. I don't care what anyone tells you, no one has achieved SOA to the extent that the IT vendors and book authors would have you believe. Everyone will say they are doing it; no one has gotten there.

I take particular exception to "Service Orient or be Doomed", because they attempt to lay the foundation for why SOA is a good idea by blaming the sorry state of IT (whether or not it really is sorry--I leave to the reader) on IT. "Shortsighted decision-making", is how they put it. *Ahem* Let's see.

Here's some rhetorical questions:

  1. Who pays the salaries of all us IT professionals?
  2. Who insists we align our organizational units with our "business partners"?
  3. Who decides what initiatives are the most important?
  4. Who decides when system releases will be made?
  5. Who insists that everything be done at the lowest cost and in the fastest time?
I said they would all be rhetorical questions, because they all have one answer. And we know what it is.

I'm not blaming the business for being driven to make point-to-point decisions. IT is exhorbitantly expensive, and new systems take years (sometimes) to bring about. Business requirements change constantly, but who can predict the next change? Or the five ones after that? Maybe you can predict how things will go in the next 6-12 months, but beyond that? No one. In large part, we're all guessing, all the time.

No, it's our "business partners" who are calling the plays. It's their gold; they make the rules. The naive authors of "Service Orient or be Doomed" seem to suggest that IT is merely not properly incented to think ahead. I say crap to that. In many situations, we aren't allowed to let future considerations influence our plans. As I said: no one can predict the future. It's more than foolish to spend a bunch of money building something you don't know if you'll need, only to find that when the time comes, you didn't really need it after all. But companies waste a lot of money, all the time, so who really cares?

Of course, I'm not suggesting that the nirvana of SOA is anything like the thing you find you don't need, or more to the point, can't use when the time comes. It's just that we don't know what form SOA will take when it finally arrives. By that I mean: the standards and technologies that underpin SOA are still developing. The standards, especially, because the standards are what can make SOA more than just another new technology that's cool for a couple years until the Next Big Thing (I almost typed 'Thong' there--funny) comes along. But the standards take years and a lot of effort to hammer out. I can still hear them pounding away right now.

Vendors would have you believe that if you buy the full suite of their products, then you can have SOA easily. Of course, that's what they're in business to do: sell you stuff. But SOA is more a philosophy of enterprise system development than it is a suite of expensive vendor products. You can build services with the latest tools, but if you aren't planning and thinking about how your systems will be constructed so they can most flexibly fit into your company's infrastructure, you simply won't get there. You will still have the brittle, inflexible, complex mess that you have today, only it will have been built with a lot of expensive "glue".

*Sigh* I'm not sure I can finish this book, mainly because I don't buy their premise. Sure, it's easy to blame IT. We're supposed to be the smart ones (and we are). But we get our paychecks from the business, and it's to that tune that we dance. We're doing our best to plan ahead and to make our systems as powerful and flexible as we can, but with the limited tools and budget we're given ... we can only go so far. And it's not far enough.

I'm not optimistic that business can change the way decisions are made. The forces are too sharp and tight. Executives who take the long view frequently become the subjects of all those spectacular failure stories that we love to read. It's cool to watch the other guy guess wrong and go down in flames. But, not us, we're not going to do it. No, we're going to play it safe because we're going to retire in 5 years (or whatever--executives are never young) and if we can just hang on until then, we will parachute out goldenly with that extra $10M. What happens after that, we could not possibly care less. Let the next guy stick his neck out and get it chopped off.

That's sad, but that's how it is.

Saturday, April 01, 2006

What's up with that? This, maybe

I just noticed that my website (and this blog, by the way) was down from the 16th of March through the 22nd of March. A whole week, and no traffic! I wish I had known, but I've been busy and haven't been checking my site stats very frequently.

I wondered why the hits per day was up, but yet the volume for the month was still behind February. Now I know.

I also decided to rehost all my fractal images to Flickr, mainly so my site bandwidth will return to somewhat reasonable numbers. Who knew? I've been using over 4 GB (yes, that's gigabytes) the past couple months, and that seems high, to me. Some of my fractals are quite popular, so now I've broken many websites who were directly linking to my site for their background images. In fairness, I did post an updated image with the new URL on Flickr, so if they care to, they can link to it there.

We'll see.