President’s Day. Not sure why their is a holiday for the Presidents but I really don’t care, I have the day off! George Washington is probably rolling in the grave realizing we’ve not heeded barely a single of his or the fore fathers warnings. But as I said, I have the day off, so no dwelling on that. I have a few other things I’m pondering and getting straight in my head.
I’m part of a corporation now. I am part of a business that has a doing business as name cleared and an official organization, albeit it consists of two people and a few that help us do things here and there. The prospect of what this company can do is massive. The name is an amalgamation of three names; Hall, Glenn, and Galt. We’re not shrugging though, we’re driving the business home with thoroughness and performance, but we do live in what could be considered a Gulch. Readers might, or might not, get what I’m taking these mentions from. If you do, you should comment about it.
The business we’re working on is a growing software business, managed and lead correctly. We pick and choose our projects, we don’t go into the office, we use agile, we use eXtreme Agile, we pull people in when we need to, we use the best people available, we do things quick and with professionalism, we are what might just be the future of software development in the United States. With the lower overhead and decreased cost of not maintaining a massive office with dedicated pipes and bandwidth in every corner we’re saving literally thousands of dollars a year. As we grow these savings will exponentially increase.
The Catch to It All
There are of course catches that come with this style of business operations. Managing people and having only the best, top notch, a-grade, competent people become imperative. One person could possibly not produce for days, weeks, or even a month if they put a little effort toward not doing anything. Our challenge is to manage the operations of development and not mitigate, but all together eliminate the possibility that a single person would drag down the development efforts. This is the single largest threat to our model, how to manage remote workers.
Corporations of almost any decent size have several remote workers. Some have hundreds if not thousands of remote workers. Bank of America, Citigroup, Allstate, and dozens of others have more than a few thousands, but literally every corporate employee is technically a remote worker. Very few groups actually exist entirely in the same physical space.
Remote Productivity Freeze (RPF – I created an acronym, wooohoooo!)
Many of these groups manage productivity and the distance by frequent communication. The tools available today are numerous; teleconferencing, frequent one on one calls, video conferencing, etc. This is probably the number one way of eliminating possible “remote productivity freeze” (from here on I’ll call it RPF). RPF is almost entirely eliminated with just frequent communication. Another tool that helps in many ways, if not more than the previously mentioned tools is instant messaging. Instant messaging is an absolute must for remote workers. Being able to shoot of a quick message and have some type of reasonable expectancy of a fast response is of major usefulness. The last major tool that is absolutely required is e-mail. Being able to queue messages and respond as information comes available is without doubt a must have.
I’d even go out on a limb here (it is a mighty sturdy limb) and say that if any of the above mentioned tools of communication are not available, the remote worker is not a valid candidate for remote work. Communication is an absolute must have for remote workers.
The second thing that is of pivotal importance to eliminating RPF is remote work location. When someone works remotely it is very important that they actually have a personal environment that works for them in which to work. Some people like working in coffee shops (of course one might have to step outside or away to be able to perform any of the needed communication functions listed previously), some at home in an office room, others like a comfortable seat on a streetcar, and still others actually go out and rent a small office for themselves. Some workers are even enabled to work from a park, their back yard, or somewhere outside. The important parts of the remote location of course are; communication utilization, network connectivity, and ability to maintain steady communication and moving forward productivity.
With just these two things RPF can practically be eliminated. There are a few percentage points of risk left though, that leaves the threat of RPF at 1-5% change. This threat can however be eliminated by good development practice. Maintain regular check ins, get into a regular development flow, with daily scrums, and a flow of roadblocks being brought to the groups attention so they may be eliminated. With these simple things remote workers under the threat of RPF can be brought down to a zero change of occurring.
The things I would like to see, especially living here in Portland, is a massive increase in remote workers that work on software development. The cost savings to companies are massive, and the increase in business to the local community is actually rather high. I already know of at least a dozen regulars at several downtown coffee shop locations in Portland. These individuals maintain good productivity and stay in communication with their respective projects. All the while providing a massive savings to their projects and contributing to the local business community.
The other great benefit of this is cross communication outside of defined development groups among fellow developers. We’re not the anti-social ilk that we’ve been stereotyped as and when we happen upon other developers we communicate, a lot, and learn a vast amount of things from other developers. Inside of a static corporate environment, even utilizing agile, this is limited in comparison. But working remotely provides a massive landscape of interactions, eliminates distractions, and provides incentive for a healthier developer lifestyle. I can’t emphasize enough the benefits of talking to other developers outside of one’s respective development environment. The amount of information that could be cross pollinated (just to analogize) is currently not measurable, but rest assured the effects of attending regular developer group meetings is literally compounded when one works remotely.
That’s all for now, if anyone else has their two cents on the matter I’d love to hear it. I’ve not heard any concrete arguments against remote workers. Usually the argument consists of, “well we have all this office space” and “we want our developers in one place for communication purposes”. Of course as I’ve mentioned I’ve defrayed why those arguments aren’t particularly good arguments. So next time you’re ramping up a development team, keep in mind that a remote environment with remote workers might be the best choice you’ve ever made.
…until later, I’m off to some refactoring and design work.
One Clause: I can work anywhere and really any developer is probably open to that, but if a manager or project lead wants the highest productivity, they need to get remote workers that are driven. Cube farmers I guarantee do not provide maximum productivity. I’d love to see comments on that too, as a discourse is highly sought after so that I can hone my arguments for and against.