I had about 7 employes until today and everyone had another kind of timesheet/timereporting.
How do you track your time at your current workplace, or if your a freelancer, how do you keep track of your time?
I had about 7 employes until today and everyone had another kind of timesheet/timereporting.
How do you track your time at your current workplace, or if your a freelancer, how do you keep track of your time?
I track my time by remembering what I have done each day, my out look callender seems to tell me what I was supposed to be doing, so I use that as a basis for it.
I come in, I work the hours (+ a few more if I'm on a roll), I go home. My boss trusts me to get the work done.
(I am fortunate enough to work in an environment where that is okay behaviour, I realise that this isn't an option for many people)
In the past when I have done billable work, I had some nifty time-reporting software on a Palm Pilot that you could reach across and touch to start/stop/select task - i.e., far less intrusive than having to fill out a spreadsheet as you went.
I've created an application, which allows me to define some projects and I can enter the tasks in there. The application creates an XML-File out of this stuff and I can use it to create the bills or import this into another system.
We have an in office built solution that all projects are created on and all employees write down their time and describe what was done.
I use a Google Spredsheet which lets me add start and end time. It then sums up per project. I need to know how much I work on each project, so it is as simple as possible.
I allocate a page in my notebook (the paper kind) for a single day and list down all the things that I need to do for that day. I mark off items as they are done and list down the number of hours I spent working on it. I tally them at the end of the day.
I have another page that summarized what happened that week including the daily figures.
I then type in the figures on my employer's intranet based timesheet app.
FogCreek's FogBugz has really nicely integrated time tracking; you just need to remember to use the "working on..." pulldown.
It'll use the timesheets to give you some fascinating feedback on the accuracy of your original estimates, and feeds them into statistical projections of project completion dates too.
At work we used to use a truly horrific Excel spreadsheet for this. In the end I got so tired of it I developed a quick web app for this written in PHP with a MySQL backend. It doesn't look wonderful but is easy to use. Best of all I control the data and can extract it in any way I wish. Every year the data is exported into a CSV file and sent to my main Manager who can import it into his Excel spreadsheet. Not exactly the most efficient solution but it does the job.
I use an Excel workbook with one worksheet per day. I generally updating it every few hours or if I'm very busy, the next day.
It's infinitely flexible if hard to data mine. It includes unique project numbers, location and work description etc. and a Y/N chargable column. I use formulas to total client time based on project numbers and the chargable column.
It's a real boon at the end of a month, I can look at four weekly workbooks and total up the hours for a client, and summarise the work that was undertaken.
I've been meaning to create a small application to do this for some time, but Excel is so simple and flexible that, other than automated reporting, I'm not sure it'll be an improvement.
I use Eclipse a lot, and when I activate and deactivate tasks in Mylyn (an Eclipse plugin), the start and stop time along with the Task ID is recorded in an xml file. So for me that is one good source of timekeeping data, which can be imported to our time tracking system.
I like to use TimeSnapper in order to track my time. It also provides a way of reconstructing everything I have done, as it is based on periodically taken screenshots.
The actual timesheet is then constructed by using the data from TimeSnapper and categorizing the worked-on items as appropriate in an excel spreadsheet.
I have been using Timelog for a couple of years, and I am quite satisfied with it. It is a web-based, hosted application. Every day, I fill out a spreadsheet-like page, typing in the hours I have worked in different projects. The project manager keeps track on who's working on what, and bills customers using monthly reports.
At the risk of being labeled a company stooge, I think it's still worthwhile to outline how I book my own time.
We make and sell our own software product to do this: MCS Project Management.
Requests for work are booked into the system as calls, work orders are assigned to respond to these calls and end up in everyone's "todo list". When work is executed, people can drag the work order onto the calendar to book a task for it (like dragging around tasks in MS Project), and eventually these tasks get billed semi-automatically to the customer based on the contract and type of work that was requested.
Ofcourse, this system only pays off for larger companies. If you're a 10-person team, it's over-engineered for your needs. But I still think it's a really nice way of working, and I'm not just saying that because I help to build it :)
I described how I track (and schedule) my time in another question: http://stackoverflow.com/questions/37139/how-do-you-maintain-a-project-schedule#128578
Try http://projecthamster.wordpress.com/, if you only need something small, something for yourself only.
I remember in my previous office they had a crappy web-based time management system in place. I had an account on it, and someone, probably one who managed that application, added all my currently assigned projects to it, so when I accessed the application to add my time at the end of a day, I would have sections for each project I was working on. Of course, I had to manually add, say, five hours for this project, and two for this, and so on and so forth. I really did not see what actual purpose that served, and even though the technically-sound managers failed to see any actual benefit of the system, they still requested people under them to fill up the time sheet.
In my current job, there is no time management. One reason may be that unlike my previous workplace, this one is considerably small. But, most of all, we trust each other to do the stuff. We maintain centralised and per-client TODO lists and message boards, where we discuss stuff and post timelines, and tasks, and mark them off. All in all, that gives a good overview of what is happening and what is not.
I have a ruby script that appends a line with timestamp and all commandline arguments to a text file. Then I have an alias from "I" to this script, such that I can just type on the command line...
% I start working
0d 14:06'11"
% I have read mail
0d 00:27'45"
% I answered a question on stackoverflow
0d 00:11'32"
%
...and all that is recorded in a text file with timestamps.
Other scripts later use that text file to generate work reports, or just tag clouds of what I have done during the last weeks or months.
require 'date'
File.open('time.txt', 'a') do |f|
f.puts "#{DateTime.now.strftime("%Y/%m/%d\t%H:%M:%S\t")}#{$*.join(' ')}"
end unless $*.empty?
back = DateTime.new
now = DateTime.new
File.open('time.txt') do |f|
f.each do |line|
unless line.strip.empty? then
back = now
now = DateTime.strptime(line,"%Y/%m/%d\t%H:%M:%S\t")
end
end
end
if $*.empty? then
back = now
now = DateTime.now.new_offset(of=0) + DateTime.now.offset # fix timezone!
end
diff = (now - back)
puts "#{diff.to_i}d #{(DateTime.new + (diff - diff.to_i)).strftime("%H:%M'%S\"")}"
We use a site called Taskdirector.com which was actually built by a previous intern at the company. It has a pretty simple interface to assign projects to people and the user can select from the dropdown list of tasks assigned to them and then just manually put in how much time they worked on it. It's quite simple. I guess its not the most accurate method though...
This isn't so important in my current job, but my previous job I was building websites and needed to track time, there's a really good time tracker for Google Desktop, called Time Tracker I think... (imagine that). Me and the rest of my co-workers absolutely loved it. Then at the end of the day, we'd jump into netsuite, or whatever our time entry program of choice was at the time, and enter our time.
I keep daily notes in a text file and/or internal wiki with notes as to waht I'm doing.
At the end of billable weeks, I cull through that and fill out a time sheet.
When I'm not on billable time, I show, do my job, and go home :)
Since I am an independent contractor, accurately measuring my time is very important.
I wrote a utility that sits in the taskbar and records the process name and window caption of the active window every second of the day. If the keyboard or mouse was touched during that second then the time is considered active versus idle. Every 15 minutes this information is summarized and written to an SQLite database. At the end of the day I can view that data in a timeline and use a Bayesian filter to classify each unique process/window into one of three buckets: work, play, other. From there I estimate my hours based on some predefined thresholds that I've worked out over time.
I have tried professional software but the combination of automated recording and classification of active windows is by far the easiest approach to accurate time tracking!
One of these days I'll have to open source it...
I have great time tracking time and although this isn't really a proper answer it is an amusing little story. (I will also post an application for tracking time a little later, I do not have the application here)
About 2 years ago when I started work at a company I found that I was spending a large amount of time on the internet doing things that were not work related (irc, email, places like stackoverflow). I have always done c/c++ in my spare time and so thought that it would be a marvelous idea to create an application to track the time I spent in different applications. I think I must have spent about 100 man hours tinkering and looking for ways to hook Windows to get the information I needed. All of this, during work.
I feel it's rather ironic that I spent such a great amount of time working on an application to track my time and make me more productive whilst at work, being, well, not very productive.
:)
The time tracking is always defined by the reporting that the project manager / boss wants.
If boss wants it down to the bug or task level, then you track using a tool that allows for that, ideally your bug tracking system. If it's only a matter of "I spent 27% of my time on bugs, 15% on meetings and 58% on new development", then tracking by number of hours per day in a text file and cobbling up a little Perl program to do the math is fine.
I've used 'harvest' before (www.getharvest.com) - it's not too bad since it works from a widget. With a bit of effort, in a week or two you can get into the habit of clicking what project you are on (it tracks the hours for you).
I have seen some spurious time-tracking systems at companies, if people's hearts aren't in it (i.e. writing proper time-sheets), the data in them is pretty much fictional. I don't know if operational managers realise this, if you force someone to do time sheets without doing two things; 1) explaining why, and 2) leading by example - you will get rubbish data. People will just back-track and make up whatever to fill in their time.
As a project manager, what I would like to do is this - fill out my programmer's time-sheets for them on a weekly basis. And I think this would be possible using a program like timesnapper. If I get the chance, I will be trying this out at the next company I work at.
I used task coach in the past. A really nice cross platform time tracker written in python.
Now I just use VIM because it's more flexible, don't require a mouse and you don't have a background process running. I just list all the name of the tasks I am working on at the top of a text file. I stole the idea from this blog
When I start working on a task I put the cursor on the corresponding line in the file and press F11, then a python script writes at the bottom of the file the current time and the name of the task.
If I stop working on the task I press F12, the python script adds the current time at the bottom of the file and computes how much time I've worked.
I currently use TimePortal. It's simple and does the job. It also allows me to quickly view the "active" projects.
If you use Eclipse, Mylyn will automatically track the time you spend working on tasks from your team's bug/issue tracker. With the free Tasktop Starter, a dashboard shows you exactly what you've been working on so you can enter it into your team's time tracking system. Tasktop Pro adds functionality for reporting over arbitrary time periods and task categories.
Mylyn: http://www.eclipse.org/mylyn/
Tasktop: http://tasktop.com/
SlimTimer is a low friction time tracker and is my current tool of choice.
If you want a really good Project Management and time management app look at the free open source ClockingIT
At my office we use Replicon for timesheets; everyone does it from top to bottom. Its very nice for the account people as we bill hourly for clients. The interface is cumbersome and doesn't work well in all browsers so it tends to be problematic to use throughout the day. Its Best for just filling in at the end of the day/week.
For day to day use, I've been using the Emergent Task Timer from Dave Seah. Its blocked in 15 minute intervals, so its very nice for just filling in bubbles as the day moves on.
Slife is a fantastic tool that tracks your usage on your pc based on the application that your using. It can also log how much time you err 'waste' of sites such as SO. There are OS X and Win versions available.
I use http://ptm.sourceforge.net/ to track my time. It works well but I had to go editthe code so I could have it not prompt me every hour if I was working on the same thing, for example when I had to go to meetings I wanted to be able to let my computer keep track of that time even though I wasn't at the computer. The program also keeps track of how much time you spend in what applications which is helpful.
We have a small consulting team of 3 people working on multiple clients / projects. We used to use a spreadsheet on Google Docs, but it was a pain to update and report on it.
We recently switched to Harvest (www.getharvest.com), it's a hosted solution that is also integrated with their other application Coop (coopapp.com) which is a twitter / yammer-like application. We like it a lot, especially since it now allows us to easily generate invoices to customers and track hour hours against hours purchased.
Other light-weight time tracking apps incude www.tickspot.com, and somebody I know evaluated and is moving to light-weight project management software called Intervals.
I'm a freelancer, so its important for me to keep track of where I spend my time. I use the invoice mechanism of Quicken Home & Business to keep track of my monthly invoices. I create an invoice for each customer at the beginning of the month, and I enter a new line in the invoice for each day I work on a project. This allows me also to add a summary of what I did that day in the comments field along with the hours worked.
Steve
I use http://www.allnetic.com/ and its works great for me to timetrack multiple projects!
I lug a slate tablet everywhere with an HTA I made for tracking time spent per task. The HTA is 36 buttons big enough I can peck them with my finger and so can save the time of grabbing the digitizer pen. The tasks names are predefined, but for one that is free-form. The free-form tasknames are put to csv and 'Select *' using MS LogParser so I can use the same spelling for the same tasks. All buttons (divs, really) change color and log the start date and time of an activity, into a CSV file. No limit to multiple tasks running. A red div means that task is active. Poke it, and it sends the end time and the vbscript finds the entry wherein that task's beginning was logged, and computes the # of seconds from start to end (puts that in the CSV), changes back to it's former color. I have several canned SQL strings for giving me quick stats, but I keep planning to open the csv with XL to do some good analysis. I've been using the tablet (rugged) for several months, just collecting data. I do use 'TaskHelper', but it is slow on the tablet, so I will likely add the task mgt to my HTA. I'm just learning javascript, looking fwd to experiencing some of it's coolness.
If your people are just working on 1 project, have them use Excel. We use that and it works great.
I've been using [ManicTime][1] to do part of the work. It tracks what window you're in, the window title etc. So at the end of the day (or a week later), you have enough information to be able to reconstruct a reasonable picture of what you were doing.
I hate tracking time at the time and always end up fudging the figures one way or another. And this seems to make the process a bit less painful, even though it doesn't seem intended for this purpose at all.
[1]: http://www.manictime.com/ ManicTime
I have a terrible memory, and need to keep a record of just about everything. I keep detailed notes in MS Outlook Journal. It's a good tool, and well worth spending a few hours to get to know. Do one of the many tutorials online.
When working on Linux I have been using his one http://agendaxml.sourceforge.net/
A KISS system of post-it notes. It never fails, never goes offline, never forgets anything, and costs pennies a month.
I use Rachota as a task timer, then copy the results to a spreadsheet.
Pros:
Cons:
I looked through the solutions so far (52 of them) and I personally didn't see anything I'd prefer to use. I don't want an online tool, anything that costs money, and tools that automatically track application time don't seem that useful to me. I'm not saying that my way is best... do what works for you!
This one is easy to answer for us since our main product is a time web based tracking system :-).
I realize Time tracking is a pain for most developers, because it tends to get in the way of actually doing your work. Which is why we paid special attention to make the process of tracking your time as easy and fast as possible.
Right now, it's only in German, but depending on your country your origin, you might have a look here: LogMyTime Zeiterfassung.