Find Efficiencies or Add Horsepower?

In our world sometimes it’s worth the time and effort for in depth tuning to get the machine to run at something closer to max efficiency, in other cases it’s just not worth the time or effort or cost, easier to just buy a new or additional server. It’s not easy to know which one to do, and consistently doing one or the other by rote isn’t a great idea. I see a lot of people biased one way or another, including me.

For example, for a SQL server with only a couple drives, I’m reluctant to invest much time tuning to fix what is almost always really an IO problem. Equally, with an overloaded web server I’ll order one without much thought – cheap, adds redundancy, and trying to tune for more concurrent sessions isn’t easy, or often worth doing at all. As I said, my biases!

So let me change focus a bit, and say that businesses go through this same exercise when it comes to staffing. If you see your overtime hours (or at least hours worked) going up to the point of pain, do you hire another person or find ways to reduce or streamline their workload?

It’s amazing how often you can find the equivalent of a really bad query when you start looking at how people do things at work. Sometimes that’s because they don’t have the vision to see there is a better way, sometimes they don’t want to find a better way because having ‘free time’ might make them expendable, and sometimes they are doing work that they think matters – but would make you cry if you knew what they were doing.

Fixing this is hard, and harder to do without making it feel like you’re in a remake of Office Space. A detailed time study is a good start, having them log their time in detail for a week or two, and then supplement that with some notes from each employee on any tasks that they feel are tedious, time consuming, redundant, or just not really useful. To figure it out, you have to get down in the details – should it really take a DBA x hours to refresh the dev server each week? (Note: I mean really go through each process, not just say ‘it shouldn’t take that long’)

You have to remember that unless you have an extraordinary culture most employees are threatened by this type of tuning, as are most managers, where it can be seen as lose-lose; potentially they lose employees (which equates to power and being needed), and potentially they can be seen as incompetent for not identifying the inefficiencies on their own. Because it deals with people and because trolling through the tasks at that level of detail just sucks, the typical move is to hire someone rather than endure the pain. Sometimes that’s the right thing to do, sometimes not.

I periodically assess my own effectiveness because if I waste time on things that don’t matter, it just means I work longer for the same money. Every time I do it I find places where I’m falling off track. Sometimes that is from not taking time to save time, sometimes just not seeing the forest for the trees. I bet if I had someone external evaluate my time use I still wouldn’t score well. Why? It’s not for lack of trying, but it’s just hard – hard to see past my mistakes, my pride, my biases, and hard to see the bigger picture.

That doesn’t mean it isn’t worth doing. If you’re working too many hours, take a hard look at where the hours go. Anything you can do to get your hours back down to 40 is worth doing, and if you see ways to go below that, try selling it to your manager. There will be work to replace it, but hopefully it’s work that will mean more to the company and leverage your skills better.