by Martin Eliasson
2008-02-08 14:48:43
public

South African Guide to understanding Enterprise Software Development

Cape Horn. One of those places we all have some image of. It where two oceans meet and a huge continent ends. It's at the edge of a country know for beauty, brutality and for endless hope.

"I need your silence, your big wide open spaces" The Usual sings. So let me explain why Enterprise Consulting is going to disappoint most good programmers.

Understanding Enterprises

Few commercial enterprises have programming as a core activity. Quite few actually have IT as a core activity. That's way one meets all kinds of frightening practices as a working software consultant. Things like major projects configuration management put in severe danger by the use of Source Safe .

Before we start declaring enterprise CEOs stupid and/or evil, we have to take a closer look at the premisses of even running a commercail enterprise. For start, please refer to my article on Staying Focused and Risk Management .

At the core of successfully risk management is the realization that any organization cannot successfully handle more than three to five major risks at any given time without loosing that importan focus the gives the company an edge. The way to dominate a niche is to manage some sort of set of risks, thereby delivering value to the customers.

Think about it: what if the post office just delivered some of all mail for you? What would be the value of that service? Or if only a fraction of your phone calls were successfully (Skype for free anyone?).

Any successful enterprise is successful because it can focus on a few tricky issues and solve them in a way that generates a big enough revenue stream. Computers might be problematic but lets face it, the world has so many other problems to solve.

Why you can sell Open Source to Enterprises

A small detour in this argument is about selling open source software. Most people fail to understand that if an enterprise doesn't have a particular software issue among it's main risks, then the only reasonable way to handle those less prioritised risks is to delegate them to management, out source them or just buy a solution.

This is where Microsoft truly shines. Subversion may be far superior to Source Safe , but Source Safe can be bought in a package designed to solve a problem targeted at people handling other high risks than software development. In fact, if Source Safe were free, it wouldn't matter at all. The users wants to outsource by paying. They want support guarantees. They are not going to let any attention of their organization focus on downloading free code and build it for free because the price of losing focus of attention is always so much higher.

This is why RedHat is number 11 right now.

Only good programmers can hire good programmers

It's almost an axiom in the business that only good programmers can recognize good programmers and hence hire them.

This has the consequence that as enterprise consultant, you will meet a large number of good people being not so good programmers. In fact, my observation is that as a sum of consequences: enterprises can't code .

Enterprises can't code, so they have to go for the second best: documentation.

Sometime an important partner of the enterprise can't code. Then you need the second best once again: documentation.

Reconnecting to the South Africa Guide

Most of my friends are incapable of going to South Africa, so they have to do with the second best thing: television shows and books about that big silent open spaces country. Second hand experiences. Suppose you were one of those lucky people knowing South Africa so good you could live as a travel guide. Suppose you were good at camping, hunting, canoeing, sailing...living out doors in those big wide open spaces, doing anything you could do in South Africa. You were an outdoor man. Crocodile Dundee of Africa if you want.

And now this wealthy enterprise wants to hire you. But traveling is not their core business. They just don't get traveling. They only understand the second best: documentation. So instead of traveling those big wide open spaces, you end up in a small cubicle way up north in some rainy country writing travel guides describing the country and its potential experiences.

That's what enterprise software development is like for most programmers.

Comments