Timesheets for DBA/DBDs

  • As the database is at the core of supplying and processing data for bespoke in-house applications, my database team work in the same office as these rather than with the network guys.

    This year a new scheme was put into place to recharge all development work being done for our child companies and various departments back to them, and I was asked to implement something similar. For the developers this is being done on the main projects with smaller bug-fixes along the way and general maintainance being absorbed by the parent company.

    However a lot of work comes through my department for for ad-hoc data, minor and major tweaks to procedures, support for the helpdesk, report writers, web designers, etc., and as such it makes our attempts at timesheets look rather sparse - in fact it makes the directors wonder whether we are doing anything at all.

    In this economic climate (and the wonder as to whether they will suddenly decide that our positions are no longer required) I thought it might be a good idea to put some sort of formal tracking in place and record the work comping through the department. I put this suggestion to my staff and surprisingly they all agreed, but none of us could really decide just what should be recorded.

    The suggestions we did settle on was to record the date and time spent (usually to the nearest half hour), the department or company who requested the work, if it originated from the helpdesk then the call reference number to aid tracking, and the type of work (data extract, code modification, new code, research, meeting, documentation, server maintenance, data analysis, etc).

    I was wondering whether anyone else out there had encountered this kind of request for accountability and what their solutions were!


    ---------------------------------------
    It is by caffeine alone I set my mind in motion.
    It is by the Beans of Java that thoughts acquire speed,
    the hands acquire shaking, the shaking becomes a warning.
    It is by caffeine alone I set my mind in motion.

  • I hate tracking time, but see the value in it - especially if time is being billed back to departments requesting work.

    The most effective approach I have seen is to use a help-desk type ticketing system for ALL requests. Big or small, requiring the users to submit requests via a help desk system is much more effective than allowing them to call developers directly. It is much easier to enter in an amount of time on an existing ticket than it is to enter a bunch of information about each request.

    Unfortunately, users tend to see this as a roadblock to getting things done. In reality, it usually helps organize things and far fewer requests fall through the cracks. Doing something like this really has to be sold to the users, but it will do a much better time of tracking the work being done and it will tend to lead to a lot less "fake" time being entered by developers that want to justify their jobs.

  • The simplest thing to do with something like that is provide a simple interface, just a few fields and a place for notes, and log it into a simple database. Then allow people to do things like jot stuff down on a notepad, and enter it into the database as appropriate.

    I'd suggest just logging each time your current activity changes. Duration = time till next entry.

    So, for example, note down:

    10:15 - messing around on SQL Server Central

    10:21 - help desk ticket #35104

    11:30 - lunch

    12:50 - building view dbo.JoesNewReport

    13:07 - emergency help desk ticket #542138

    13:17 - building view dbo.JoesNewReport

    14:57 - done for day

    Jot that stuff on a piece of paper, or in a notepad file, or directly enter it into the application. But assume you won't have time to enter everything as it comes up.

    That kind of thing usually works pretty well. Takes a bit to get used to, and you'll find people who have to be reminded to enter their data, but overall it's the least pain for the most gain, in my experience.

    - 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

  • I think if you implement this you'll have people forgetting to enter stuff at first, which will cause you issues up front. They'll get used to it with nagging, but I wouldn't assume time between entries = time spent on task.

    Instead I'd store just a couple fields, user, time (in hours), note, maybe datestamp and have a simple web app for people to put things in. then I'd set a daily meeting for 4:30 (or just before closing) for everyone to "enter time" and have them think back over the day and note how many hours on what.

    I'll caution you that you will rarely get less than 8 hours, even if it's incorrectly billed since people won't want to appear slack. you could make things better if you remove the "user" field and just have times saved since you're billing back, not tracking users' time.

    For the record, I hate tracking time and it takes away from productive time. If people are getting things done, you're doing OK. If they're not, then evaluate who isn't getting enough done, deal with it somehow.

  • That's a good idea, Steve. Remove the name/user ID from it, so it's not a "blamethrower" log, just a billable hours log.

    - 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

  • Many many thanks for the suggestions so far.

    We already implement a helpdesk system (a corner of it I have hijacked just so we can track the work coming in and who it is allocated to, but it's time tracking facilities are abysmal).

    The timesheet system is to go into place to help cover our backs as we are an invisible workforce (as someone in another forum gave as an example, like a caretaker or janitor, no one notices the amount of work we do, or how vital it is until we are gone).

    We have had redundancies within the company due to this credit crunch and now eyes are turning to the most expensive employees (conveniently skipping the Directors and upper management) and as we are next in line I hear the occassional mutterings of "just what do they do down there", which, knowing the way this place works, will soon be followed by "do we really need them?". Believe me, I've seen it happen here before. When they realise their error, it is too late and they replace the highly trained staff they have lost with junior inexperienced staff (read - cheap).

    We just need to cover our backs so that when my team and I are finally challenged, we can comfortably turn back to them and show them the volume of work, where it is originating, and the time it takes to handle the load.

    I agree that we don't need to know who finally dealt with the job. The helpdesk system lets us know who it was allocated to, and if they pass the work on, it is up to them to ensure it is completed - and carry the can if they don't. I monitor everything so know who is slacking and who isn't, and I have a very good team (in case any of them are reading this, good work guys).

    You've given me something to think about and now i can put a proposal to the guys as to how best to implement it so that it will be used.


    ---------------------------------------
    It is by caffeine alone I set my mind in motion.
    It is by the Beans of Java that thoughts acquire speed,
    the hands acquire shaking, the shaking becomes a warning.
    It is by caffeine alone I set my mind in motion.

  • 10:15 - messing around on SQL Server Central

    10:21 - help desk ticket #35104

    11:30 - lunch

    12:50 - building view dbo.JoesNewReport

    13:07 - emergency help desk ticket #542138

    13:17 - building view dbo.JoesNewReport

    14:57 - done for day

    I like this schedule. Where do I send my resume?

    I hate doing timesheet too. It is liked writing a friction. I used to work for a bank, the auditor even audited the timesheet.

  • Loner (1/15/2009)


    10:15 - messing around on SQL Server Central

    10:21 - help desk ticket #35104

    11:30 - lunch

    12:50 - building view dbo.JoesNewReport

    13:07 - emergency help desk ticket #542138

    13:17 - building view dbo.JoesNewReport

    14:57 - done for day

    I like this schedule. Where do I send my resume?

    Any government office.

    - 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

  • GSquared (1/15/2009)


    Loner (1/15/2009)


    10:15 - messing around on SQL Server Central

    10:21 - help desk ticket #35104

    11:30 - lunch

    12:50 - building view dbo.JoesNewReport

    13:07 - emergency help desk ticket #542138

    13:17 - building view dbo.JoesNewReport

    14:57 - done for day

    I like this schedule. Where do I send my resume?

    Any government office.

    Nah, too much work being done to be government.

  • Hey, that looks like my schedule!:w00t:

    Except replace create view with write editorial

  • Jack Corbett (1/15/2009)


    GSquared (1/15/2009)


    Loner (1/15/2009)


    10:15 - messing around on SQL Server Central

    10:21 - help desk ticket #35104

    11:30 - lunch

    12:50 - building view dbo.JoesNewReport

    13:07 - emergency help desk ticket #542138

    13:17 - building view dbo.JoesNewReport

    14:57 - done for day

    I like this schedule. Where do I send my resume?

    Any government office.

    Nah, too much work being done to be government.

    Note that nothing in that schedule actually says anything got finished...

    - 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

  • Rayven (1/15/2009)


    We already implement a helpdesk system (a corner of it I have hijacked just so we can track the work coming in and who it is allocated to, but it's time tracking facilities are abysmal).

    The timesheet system is to go into place to help cover our backs as we are an invisible workforce (as someone in another forum gave as an example, like a caretaker or janitor, no one notices the amount of work we do, or how vital it is until we are gone).

    You've just identified two very worthwhile processes...

    1. Make the HelpDesk system better at tracking time.

    2. Interface the TimeSheet System with the HelpDesk system to keep from having to do double entries.

    ...and, based on other things you've stated, I would make these two things my highest priority. I would also do it without all whole bunch of fanfare and "Mother may I's"... just do it and then brag about it as being a sure commitment that your shop "fully embraces the intititive which can only lead to a more effective company".

    I would look at this whole thing as nothing but an opportunity to excel both practically, computationally, and politically. 😉

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • GSquared: I was actually under the impression that nothing ever got finished these days!

    Jeff: Any jobs going at your place? Initiative here tends to be welcomes with a ".. and why were you wasting company time?" before they have even evaluated the results, :w00t:. But I fully agree with you on those two points.


    ---------------------------------------
    It is by caffeine alone I set my mind in motion.
    It is by the Beans of Java that thoughts acquire speed,
    the hands acquire shaking, the shaking becomes a warning.
    It is by caffeine alone I set my mind in motion.

  • Well, this thread has started with a fairly reasonable/serious question and ended up getting a bit fluffy. A lot of the potential comments in a thread like this depend on which end of the stick you are:

    1. timesheet system consumer (what a pain)

    2. timesheet system creator/developer/manager (there is no way to make everyone happy)

    3. none of the above (how lucky you are)

    In any case, I work for a company which makes products having to do with project/investment management and in this context they all have timesheet functionality. Believe me, it's not a trivial problem!

    Only recently was I commissioned by one of our customers to develop some reports (queries) for determining who did NOT complete their timesheets (I can hear the boohhhs in the background on the part of the timesheet system consumers). Now SQL is great for finding things that are there. It gets a bit harder to find things that are NOT there.

    The fun part was that this company was still on Oracle 8 - thus no join syntax. In any case, even SQL Server 2000 would have made my job easier. As you can see, I'm slowly phasing into the 'SQL or Oracle' thread. As for my preference: SQL Server!!!

  • GSquared (1/15/2009)


    Loner (1/15/2009)


    10:15 - messing around on SQL Server Central

    10:21 - help desk ticket #35104

    11:30 - lunch

    12:50 - building view dbo.JoesNewReport

    13:07 - emergency help desk ticket #542138

    13:17 - building view dbo.JoesNewReport

    14:57 - done for day

    I like this schedule. Where do I send my resume?

    Any government office.

    Hey, I resemble that remark! And I spend a lot more than 6 minutes a day on SSC! (usually)

    -----
    [font="Arial"]Knowledge is of two kinds. We know a subject ourselves or we know where we can find information upon it. --Samuel Johnson[/font]

Viewing 15 posts - 1 through 15 (of 25 total)

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