What is the best way for a developer to track his/her hours at work, if no framework exists at that firm which would avoid any complications with internal classified information being stored on a server I own at home? In particular, I would like to hear of any methodologies or software that could be used in this situation with limited issue.

I just graduated from college, and am moving into my first full-time job with an embedded systems firm, which doesn't seem to have any particular process set up for its employees to use. Since last summer, I've been working on improving my development process, trying to record my time usage, bugs found, and other simple metrics for my process. Until now, I have been using Microsoft Team Foundation Server (TFS) to do this from one of my personal servers, and have enjoyed working with it. The firm I am going to, however, doesn't seem to have anything similar, so I am stuck with needing to find a way to continue tracking these metrics. I feel I should not use my TFS server (or a similar tactic, such as Traq), since there would be the chance of exposing company secrets to the outside world through my server.

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
If this question can be reworded to fit the rules in the help center, please edit the question.

2

If your employer isn't making you record your hours, why do you want to do so?
–
Jonathan KhooJun 2 '11 at 4:32

11

@Jonathan Khoo Logging your work hours is an exceptional practice, especially if it's voluntarily. It's the only valid way to evaluate your own pace and responsiveness against hard data, and wanting to do so it's a strong indicator of professionalism, imho.
–
Yannis♦Jun 2 '11 at 4:36

3

In addition to what @Yannis Rizos says, you can use it to track/improve estimates and find time sinks in your day. It's just an all around good practice.
–
Thomas Owens♦Jun 2 '11 at 10:01

4 Answers
4

Convincing the company to use an issue tracker

If you see actual potential in the scenario, my advice is to follow a bottom up approach: Try to convince your coworkers first, starting from those closer in hierarchy to you. Don't go straight to management, chances are they'll just ignore you (hint: they don't use a similar tool, although management usually love the process).

Try not to get hung up on pointless discussions on how management can abuse an issue tracker, instead focus on the positive aspects for employees (which I won't expand on, it's quite a different question). If you do get stuck on the evil manager argument, point out that an issue tracker can help locate unresponsiveness in management too, not only workers.

Try to best educate people, be prepared to back any discussion with reliable sources, never assume people will not have valid / clever counter-arguments. Always prefer steering people towards reliable sources that highlight the merits of the process instead of open ended discussion.

So build momentum for an issue tracker amongst coworkers first, only go to management when you've established a collective desire. Not every one has to agree, but you'd stand a better chance with some backing than none. And if they still turn you down, shame on them.

Use a personal issue tracker (or work log)

If the above scenario somehow fails:

Install an issue tracker on your company workstation. If for any reason that's not a valid option, go medieval: paper, pencil and a stopwatch (or your wrist watch / mobile phone clock) may seem counter intuitive but they are better than nothing.

I would advise against installing an issue tracker on your personal laptop, tablet or smartphone, unless you get written permission from the company to do so. Storing company sensitive data on a mobile device can be considered as an attempt to move said data out of the company, and it will get you in trouble. I'm not a lawyer, even written permission may not be enough to cover all your bases, it depends on a lot of factors (type of data, etc), if the only option you've left with is a mobile device, consult a lawyer.

If security is a concern, you need to make sure that no sensitive data finds its way onto your Team Foundation server. If that is unavoidable, you can still continue using it, but will need to sever its connection to the outside world. In that case you will have to look at what TFS offers in terms of briefcase model and import/export facilities. If it supports a briefcase model, you could bring your laptop to work (make sure it is not in any way connected to the internal domains), or store your data in files on an usb stick or even your phone and simply sync/import when you get home.

Try the pomodoro technique if the objective behind your initiative is to reflect-n-improve on your productivity.

The technique uses a timer to break down periods of work into 25-minute intervals called 'Pomodori' (from the Italian word for 'tomatoes') separated by short breaks. Closely related to concepts such as timeboxing and iterative and incremental development used in software design, the method has been adopted in pair programming contexts. The method is based on the idea that frequent breaks can improve mental agility..

Time tracking software really helps a lot in managing productive time efficiently. But in order to track time successfully you will need self discipline, right tools to use and resources. I find this article that discusses some good alternatives in time tracking that can also help you decide what would be the best tools for you to use.

That article mostly discusses how one product is better than another product in the same class. It's not very generic or necessarily applicable to time tracking software as a whole.
–
Martijn PietersNov 9 '12 at 8:24