I’ve been meaning to follow up on my post about our Time sheeting and Expenses system here at Readify. Since I made that post some things definitely got put on the back burner as one of the teams I am currently working with drive towards their first release that is going into production.
We reached a critical point last week when we found we were hunting down our last few bugs and making a few minor feature changes so I feel comfortable looking at some of the slightly lower items on my task list – back to T&E.
So – when I left you last I was talking some of the issues with the time sheeting system and mentioned that I intended to spend some time gathering requirements and doing some prototyping. This post is intended to speak to the first of those two items.
The first thing that I need to do is introduce the actors and the kinds of hardware and infrastructure that they have access to.
Obviously the MSN messenger looking dudes are people, I’ve actually chosen the names of real people who I think are representative of the user community.
Its always good to start with the boss. Graeme is the guy who we all submit our time sheet and expense claims to and he expects them to be submitted on time and be correct for his reports. I sent Graeme an e-mail a few weeks ago and he got back to me with this set of requirements.
- Consultants should record their times on a daily basis.
- Consultants should be able to enter their times offline and then have them sent in the next time they are online.
- Consultants should be able to correct times after they are uploaded with no side effects.
- Top level work categories should be easy to add, current categories are Training, Consulting, Internal Systems, Professional Development and Leave & Admin. Examples of ones to add are Curriculum Development and Marketing Support.
On top of the above Graeme also has two key reports that are dished up from SQL Reporting Services.
- Daily Totals by Consultant
- Daily Totals by Reporting Category
Doesn’t sound too bad eh?
Who’s Mark? Mark is our token customer, and I had produced this blog entry a week ago he probably wouldn’t have been listed here. However Mark asked me last week to fill in a time sheet specific to his organisation.
Normally we don’t produce timesheets for clients, especially for the shorter term engagements, but for longer ones its reasonable for customers to want to kill another tree to produce another piece of paper (on top of the invoice). Actually most people recognise it is a duplication of effort but like Mark, they need to adhere to some organisational policies about time tracking.
Our current system doesn’t support printing from the front-end application which all consultants run on their laptop, and even if it did it doesn’t have the essential filtering functionality to produce a report just for a particular customer.
An absolute requirement would be the ability to produce a filtered report which could then be transposed onto the clients time sheeting format.
Darren is our most recent hire, and as such is an innocent when it comes to filling in timesheets (late). I’m going speak for Darren here (Darren – if you want to add to this just leave comments), but there are a couple of really important things.
- Should be easy to download and install the time sheeting application.
- Should be easy to use without any direction.
Thats pretty simple eh? Thats because Darren isn’t jaded enough yet to have my set of requirements. Here they are!
Disclaimer: I am one of the worst time sheeting users EVER! Thats why I know that something needs to be done to encourage me to do my timesheets in a timely manner. The boss tried to do it at an organisational level by linking our expense reimbursements to having our time sheets in on time at the end of the month, that has pretty much worked for me except that I do tend to rush the job a day or so before it due.
So my key requirement is that whatever the eventual solution is, it needs to encourage me to fill in my time sheet regularly. There a couple of ways off the top of my head that I think it could do this:
- The application runs as a tray application and pops up a balloon to nag me.
- The system sends me an e-mail if I haven’t filled in my time sheet for seventy two hours and points me to a web-page to enter the details.
- The system sends me an SMS message every seventy two hours to nag me to open up the app to fill in the sheet.
- We use MSN alerts to remind us through messenger (I wonder if MSN alerts supports private corporate services like that).
If anyone out there has any bright ideas feel free to leave them in the comments.
What about the hardware?
This is really a reference to the kinds of devices that we collectively have access to. All consultants carry around a laptop and almost everyone also carries around a SmartPhone or a PDA (or both!). This basically means that if we get the back-end architecture right we have scope to skin the front end of this application in many ways.
For example, if we opt for the SMS message approach then it would be handy to have a time sheeting app on the SmartPhone that could submit information via GPRS. This would obviously mean that the service interfaces would have to run pretty light bandwidth wise otherwise it could get expensive.