How can i KPI a DBA - bonus related.....?

  • I'm looking to see how anyone out there who gets a performance related bonus actually gets it?

    Is it system performance? System uptime? Release performance? Company performance?

    I've been asked to come up with a list of KPI's in order to provide (personal) performance related bonuses but i'm struggling.

    I can use the system performance easily enough but the system uptime is pretty much 99.9% all the time and can't base it on the company performance. Its also difficult to base it on objectives set in the month as as i'm sure you are all aware that being a DBA means that you are constantly doing other ppls work for them as well as your own...

    any ideas are greatly appreciated 😀

    _________________________________________________________________________________SQLGeordieWeb:- Jarrin ConsultancyBlog:- www.chrisjarrintaylor.co.ukTwitter:- @SQLGeordie

  • I'd say the main KPI of a DBA is how much the data in the database(s) is used. It's all about the service provided (value) to the company.

    Uptime would be part of this, because the system can't provide data during downtime.

    Performance would be part of this, because a slow database will get less use.

    Lost data (corrupted database and no valid backups, or other scenarios) would also be part of it, because that would also result in loss of data.

    Data going in but not being used means the database is useless, which means it's valuable, and why pay for a DBA to maintain a useless database.

    Slow reports that time out would be part of it, because then nobody can get the data even if it's in there.

    And so on.

    That's my take on it.

    Can be measured a few different ways, but it's going to be variations on rows of data per hour or per day, delivered to end-users or later points on a data pipeline.

    If, for example, you have a report that gets sent out (Reporting Services or something similar) every quarter, summarizing all the sales data in the whole company, you'd count up how many rows of data that has to query, times how many people use the report. (Note that if you have aggregates and Group By statements in the report query, it would be the raw rows queried, not the final rows in the report.)

    However, that's a major pain to track. Could be done, but not easily.

    Probably easier is number of successful select statements run by people outside the DBA group. Could capture that in a trace pretty easily. Won't be as granular a number, but would certainly be much easier to track.

    Something of that sort. (I track a variation of the selects per hour by trace stat, for my own use. Nobody else really tracks my performance numerically at my current job.)

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply