Manager: “It’s come to my attention that the application performance isn’t as good as it should be. Users are complaining that it takes too long. Is it fair to say that every query sent to the database should finish in under ten seconds?”
Database administrators: “Yeah.”
Manager: “Okay, we’re in agreement. Going forward, all queries sent to the database need to finish in under ten seconds. Meeting adjourned. Great job guys.”
Is everyone really in agreement?
The developers think it’s the DBAs’ fault because the server isn’t fast enough. The DBAs think it’s the developer’s fault because the queries are so poorly written. The managers think everybody’s just flat out incompetent.
Groups of people can agree on something on the surface, but ask a few questions, and all hell breaks loose.
This seems to happen a lot in database administration due to the kinds of knowledge DBAs have. People bring us lots of ideas, but they’re not really clear on what needs to be done in order to accomplish that goal – or who’s the right person to actually do the legwork. As a result, sometimes we have to break some hearts.
I struggle with this, because I’m the kind of guy who will turn right around and give a flip answer like, “John, I agree, that’s a great idea, and I can’t wait to see how it turns out for you.”
Better answers are probably along the lines of:
- “I agree – that’s a great idea. Is there anything I can do to help you get it done?” People freeze at that one because they don’t feel comfortable saying, “Yeah, you could do it for me.” It at least gets them to stop and think.
- “That sounds great! Could I help you by testing your work or finding beta testers?” Again, sets the expectation that you’ll get involved when their work is over.
- “I’ve been thinking about that same thing for quite a while, and I haven’t been able to find the time to do it. Doggone day job of mine! Who could we track down to do it?”
And still, as I write these, I know they’re all too sarcastic. <sigh> This is one professional skill I still gotta work on.