Writing

Feed Software, technology, sysadmin war stories, and more.

Monday, August 20, 2012

What is this team actually supposed to be doing?

A show I've been watching recently had a great line on a recent episode. I'll clean it up a little so as to not spoil anything. One of the characters essentially said this to another:

Are we in the X business, or are we in the money business?

I was so happy to hear that, even if it was in the scope of a fictional story. It means someone else out there is thinking about things in that way, particularly when they start getting so off-track that it seems that the true goal has been lost.

I'm particularly attached to that phrase since I used it a couple of years ago in an attempt to open some eyes. I was stuck on this project which had made some poor decisions regarding software infrastructure, and continued to reinforce them by piling more badness on top of it. That is, not only were they not paying down the original technical debt, but they were still creating things in the same way, and thus were accruing more.

I showed up on the team and immediately started questioning my sanity. For the first couple of days I thought maybe there was something dreadfully wrong with me, since none of it made any sense. Their goals were simple enough (run a bunch of tests in an automated fashion), but the implementation was just completely alien to me. I thought I must be losing my touch.

A week or two later, I got over that and realized that nothing was wrong with me, and it was just a reaction to the way things worked around there. It took a lot longer to actually be able to quantify where things were going wrong.

Much later, I started asking the question: are we here to run (program X), or are we here to actually qualify kernels? It was this silly requirement that everything we did had to happen through X that was causing a great deal of pain for us. Of course, I later discovered that was not actually the root cause. The root cause was having bozos making decisions on the projects, and it just manifested itself as being forced to run program X.

Unfortunately, I don't think I really appreciated that at the time, so when I tried to address it by advocating a shift away from reliance on that program, nothing good came of it. While I did eventually see that particular boat anchor sent off to other waters, there were still enough obstacles around to make forward progress impractical.

I guess this taught me another lesson: even if you get rid of the head bozo, you're not in the clear yet. Anyone who was brought on (hired, or transferred in) as a result of a bozo may also be a bozo. Just like kudzu, once they take root, it may be impossible to ever truly get rid of them.

All I ever wanted was for the team to take an honest look at what the goals were and to approach them from first principles. Anyone who did this with a clear mind should have thought of some alternatives to Captain Ahab's "great white whale" approach which had been the guiding force up to that point. Instead, all we had was a relentless pursuit of something that nobody really wanted.

Well, nobody but the Captain, that is.