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