Services Unit Time Allocation

Added a quick FAQ at the end for which buckets to put ambiquous things into.

Categories (Buckets)

  • backups (networker, mirrors, retrospect)
  • file serivces (file servers, SAN, NFS, samba, and including reorganisation of user partitions/files)
  • mail (anything to do with the mail services, including lists.inf, but not reading email)
  • printing (servers, client)
  • web ( wiki, www.inf, and the rest)
  • other (repository, bugzilla, roombooking, anything not included above)
  • project - eg: AFS, staffmail, etc including meetings to do with those projects
  • meetings (need to sub categorise the sort of meeting eg services, dev, ops, ...)
  • self development -
  • support - (includes clearing RT spam. Significant time spent on something should be sub-classified)
  • misc - like reading your email, do sub catergorise
  • unit related - eg updating general Unit web pages, calculating timekeeping figures
  • holidays/absence

How it Works

Here's how the system works (it's based on the system I used to use, but has been modified for the Unit's use).

Simply you record your days activities in a text file, then at the end of the week run the suta script (currently in ~neilb/bin/share) to analyse these daily files to produce weekly figures for Craig. I wanted to keep it simple and quick.

Format of the input file

  • blank lines and lines beginning with a # (hash) are ignored (as are in fact, files that don't contain colons)
  • if a line beginning # END is encountered it ignores the rest of the file (case is important, white space is not). I use this just to add adhoc notes to the bottom of the file.
  • the only expected data line consists of 2 or 3: (colon) separated fields:
    • First field is the time, in a 24 hour format, with an optional . (fullstop) between hours and mins eg 9.45, 945, 0945. This first field may also contain the keywords date or leave, see later for details.
    • the optional second field is a free text field which I use to jot down a description.
    • the last field is the category/bucket for Craig. This should be one of the agreed single word buckets, optionally followed by a - (dash) and sub category eg backups, file, file - samba, misc-email. Currently it will accept any string, but you should confine yourself to the agreed buckets below. Your last entry for the day should be the special bucket break, see later.

Generally trailing and leading space in the fields is ignored.

The break bucket is required so that the analyse script can work out how long you spent on the previous entry eg if you have

1600 : RT 1234 : web
1604 : work on backups document : project - backups
1705 : go home : break
It can assign 4 minutes to the "web" bucket and 61 minutes to the "project" bucket. If the script sees the end of file, without seeing a final break bucket, it will complain.

The date keyword: To know which day your activities are for, you can either name your file with the specific format YYYY-MM-DD or (probably better) specifiy it in the file with the special date field. In this case you should have a line like date : 16/2/2007 before your normal activity entries (note it only expects 2 colon separated fields on these lines). The suta script will complain if you haven't. You can using the date entry multiple times in a file, so you could keep a weeks work of activities in a single file: eg

date : 16/2/2007
0930 : check email : misc - email
1000 : look at RT 123456 : support - web
...
1700 : go home : break
date : 17/2/2007
0930 : check email : misc - email
0945 : phone call from Craig about broken samba :  file - samba
..
1655 : break

The leave keyword: To record annual leave or days ill, you can use the leave keyword in the first field. The second field then contains a decimal number followed by a length of time, eg day, week, month or initial letter. eg some valid examples:

# half a days leave
leave : 0.5 day
# one weeks leave
leave : 1w

It assigns this leave to the "current" date, so if you are in on the Monday, but off the rest of the week your file might look like:

date : 12/2/2007
0900 : check mail : misc - email
...
1700 : go home : break
date : 13/2/2007
# rest of the week off
leave : 4 days

An example

It's probably easrier to show you a typical input:

# Thurs BP

date : 15/2/2007

0905 : check mail : misc - email

0929 : move BP print queues to AT : project - fc5

1109 : break

# coffee

1143 : RT 28895 broken link : support - web

1650 : go home : break

The analyse script works by noting the time you started something, then the time you switched to doing something else, it can then work out how long you spent on the first. Note there is a special category, break, which you need to use when you stop doing something, but don't go on to do more work stuff. eg lunch breaks, at the end of the day. If your last entry in the file isn't a break then it can't workout how long you spent on your last task. The script will give an error. Hopefully unlikely, but if you find yourself working passed midnight, then you have to fudge the time to be something like 2401 (12:01am), or 2530 (1:30am) so that my simple maths work.

My current analyse script for the above produces:
#Category : time in mins : percentage of time
misc - email : 24 : 6%
project - fc5 : 100 : 23%
support - web : 307 : 71%
total: 431 7hr:11mins percent total = 100
But the new version will collapse the agreed categories, etc (see below). Note how as there are no intervening entries between the 1143 dealing with the RT and the "go home" at 1650, all that time gets classified as support.

So each day I start an emacs (you can use what ever editor you like), and a new file, and keep it running in a small window and just enter the time at which I start doing something, or switch tasks. I give the file name in the format YYYY-MM-DD so that I can then feed a weeks input into my analyse script eg: analyse 2007-01-?? would give me my stats for the month.

List of agreed categories/buckets

So the complete list of acceptible categories will be the following. Note I think we said that (all?) categories could be sub classed with a - (dash), in which case the thing after the dash is free text and is currently thrown away, but might be useful later, eg misc - email.

  • backups
  • file
  • mail
  • printing
  • web
  • project (wont collapse, but will complain if it isn't one of the expected projects)
  • meeting
  • cpd (continuing personal development)
  • support
  • misc
  • unit
  • pdp - devel (personal development plan - personal development, attending seminars, reading etc)
  • pdp - project (personal development plan - anything related to a specific PDP project)
  • sl5 (work related to the move to SL5)
  • forum (work, or discussion, related to the move to the forum)

    • repos(itory)
    • bugzilla
    • roombooking
    • webdav
    • ssh
    • (what have I missed)

These last categories will get recorded against the other bucket, but should be entered in the file as bucket in their own right.

#FAQ

FAQ

Which bucket does attending an AFS meeting go into?

  • It goes in the project - afs bucket.

Which bucket does attending the Operational/Development meeting go into?

  • It goes in the meeting - ops/dev bucket

Which bucket does attending services unit meeting go into?

  • For Craig it's unit, for the rest of us it's meeting - services

Which bucket does appraisal stuff go into?

  • For Craig it's unit for us it's misc

What goes in the Unit bucket?

  • Anything related to general Unit management, for Craig this will be lots of stuff. For the rest of us it would be working out timekeeping figures. Updating this Wiki page.

What is the SL5 bucket?

  • Any work related the move to SL5, sub classify if you wish. eg migrating www.inf to SL5 might go down as sl5 - web

-- NeilBrown - 06 Nov 2007

Topic revision: r16 - 06 Nov 2007 - 16:10:22 - NeilBrown
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies