Saturday, July 12, 2003

Are You A Dung Beetle, Too?

Elephants (and other large herbivores) are notoriously inefficient at digesting their food. But what goes in must come out, so there are entire ecosystems devoted to elephant dung. Dung beetles gather elephant dung, roll it into little balls and bury it with their eggs. When the eggs hatch the larva feed on the dung. As adults, dung beetles also eat dung, as well as other rotten material.

I work supporting a small part of a large production IT system for a Fortune 500 company. The system was created (although a better word is grown) by a smaller, but still large, software company. It works like this. My employer has millions of customers, from which it makes a little money every day. Up in the head office, the executives decided to buy a service to perform an IT function, because they needed to move quickly to gain market share. Then they decided to bring at least some of it in house to save money. So far, good decisions all.

In addition they decided to develop several releases in parallel. Because different people work on each release, the fixes in one don't always make it into the others. Other problems result from the compressed schedules and dramatic amounts of overtime by key developers. As production support, I clean these problems up. Thus, a decision is made far away from the tail, many resources are consumed, a long and complex digestive process ensues, and a result is deposited. Think of an elephant eating the leaves of the occasional small willow tree, followed by the occasional large pile of dung. Still a fine decision, but much dung is produced.

Since the two systems were designed completely differently no one knows exactly how to convert the existing data in the service house's database to the in house database. The developers do the best they can, but the service house is understandably not letting them look at how their system is built (the source code), so the developers are working off documentation. But the service house is not required to provide complete documents, documents are almost never accurate in all their details, the new system was developed in a hurry so there is very little documentation for it (and documentation really does cost extra), even if there is source code, and both systems are absolutely freaking huge anyway. So it is almost impossible for the developers to know everything they need to know to convert the data correctly and keep the millions of customers happy. All the incorrect conversions result in production support tickets, which I clean up. Again, a decision is made far away from the tail, even more resources are consumed, a long and complex digestive process ensues, and is repeated, and many results are deposited over a long period. Think of a small herd of elephants eating acres of alfalfa for months, followed by many large piles of dung. Still a fine decision, but truly incredible amounts of dung are produced.

After this I take my check and bury it, err, put it in the bank. My wife and I buy groceries, and we eat with the kids. Am I a dung beetle?