In part one of this series, I talked about the integral role that trust plays in telecommuting. Next up we need to talk about the tools you're going to need in order to show accountability while telecommuting.
When I accepted my telecommuting position, the first thing that happened was that I immediately felt less-stressed because I no longer had my 90 minutes in / 120 minutes out commute to deal with. For many, that is the number one reason they want to work from home. Then, I realized that I would also be in an environment where I would be able to control the distractions. In previous jobs, it was that inability to shut out the distractions when I needed to was the problem.
In your typical developer cube-farm, there is zero chance that you can find some quiet and solitude when you need it. All I ever wanted was an office where I could close the damn door when I needed to Get Things Done. C'mon, you think putting on your headphones is enough to drown out the world around you. Perhaps it's because I am a grumpy old man, but that just won't cut it.
However, you cannot work in isolation when telecommuting for a company, as opposed to freelancing. There are fellow employees that you will need to speak with, probably on a regular basis. Telecommuting is not for misanthropes who dream of long stretches of uninterrupted work. You *will* be asked to prove that you're working, not sitting on the couch playing video games when you're supposed to be debugging that new Ajax-powered user interface. Just pushing your code into production isn't enough.
We have our own home-brewed ticketing system that started out as a way for clients to inform us of issues they are having, or requests for changes to the services we deliver to them. Since I have been here (some of it at my prompting), it has also branched out into bug and feature tracking for our various internal projects.
Also, another reason for it is accountability. While our clients (obviously) cannot see the tickets for internal projects, we can see each other's tickets. Clients are also able to see every entry in the tickets system related to their issues. During our weekly staff meeting (more on the format for that in the next installment) we discuss "dangling tickets", which are issues that have not been resolved in a timeframe that we are comfortable. Without a transparent issue-tracking system, it would be too easy to try and deny accountability when stuff isn't getting done.
Just using email for this sort of thing is, in my opinion, a mistake. It's too easy to say "I didn't get that email" or "I must've missed that email". If you're not tracking your outstanding issues in a way that others can't see, you're asking for trouble as a telecommuter. Sure, not everything we do goes into that issue tracking system. But anything that's critical to your ability to get your assigned tasks done, you have to let other people know what you're doing. Otherwise you have no justification for asking for help, or even re-prioritizing your tasks.
So, with your issue-tracking system in place you can now start delving deeper into fine-tuning your work flow. If your issue-tracking system can keep track of the dates when issues were generated and then resolved, you can get an idea of your velocity on tasks. Then the next time you need to do something very similar, you can tell your boss with confidence how long it will take you next time. Now you can get back to playing vid...I mean, get back to planning your next task.
Also, knowing how long things will take to do, with a good level of accuracy, lets you give your boss surprising bits of information like "Hrm, ticket 3478 is like an older ticket I did a few months back. I should be able to get that finished 2 days ahead of the current schedule, so I've got time to tweak that automated deployment task that's flagged as low personal priority. Okay if I get that working today and Friday?"
Yes, things like this can and do happen. In fact, I try to make sure that I keep an eye on lower-priority tasks that can be pushed up in priority if I happen to get something done ahead of schedule. Not every task in my list is labeled "high priority", which is something I blame my boss for :)
Next up, I will share my experiences with staying in touch with your fellow workers while maintaining sanity in your work flow.