Slashdot Asks: Are Remote Software Teams More Productive? (techbeacon.com)
A recruiter with 20 years of experience recently reported on the research into whether remote software teams perform better. One study of 10,000 coding sessions concluded it takes 10-15 minutes for a programmer to resume work after an interruption. Another study actually suggests unsupervised workers are more productive, and the founders of the collaboration tool Basecamp argue the bigger danger is burnout when motivated employees overwork themselves. mikeatTB shares his favorite part of the article:
One interesting take on the issues is raised by ThoughtWorks' Martin Fowler: Individuals are more productive in a co-located environment, but remote teams are often more productive than co-located teams. This is because a remote team has the advantage of hiring without geographic boundaries, and that enables employers to assemble world-class groups.
The article shares some interesting anecdotes from remote workers, but I'd be interested to hear from Slashdot's readers. Leave your own experiences in the comments, and tell us what you think. Are remote software teams more productive?
The article shares some interesting anecdotes from remote workers, but I'd be interested to hear from Slashdot's readers. Leave your own experiences in the comments, and tell us what you think. Are remote software teams more productive?
Surely there is no clear cut answer for a question like that. I personally am much more suited to working in office and can never get anything done at home, surely there are people with opposite working environment preferences. Personally I work on industrial equipment software, that means my work needs to be done where the actual hardware is and remote work is in most cases not viable, if it means traveling half way across the word then so be it. Some software project lend itself to remote work better than others, some projects you can complete entirely remotely, some you can break off pieces to be done remotely and sometimes you must have boots on the ground. As with any team, success depends on what is worked on, who does the work and how its managed, there are no golden rules to fit all situations.
Many of the folks who have a track record of getting stuff done in their field (especially open source projects) know their value and often don't feel like they have to relocate to command what they're worth. And I think that's the way it ought to be.
It's nice when you can have teams gathered in a single place, but I certainly wouldn't "not hire" a rockstar simply because they couldn't/wouldn't relocate to some arbitrary location that the company wanted. Hire the best talent you can afford and don't stress about where they live.
If a remote team is more productive than local then you are looking in the wrong place.
The only reason they can possibly be more productive is that the local management is toxic.
My company is near the east coast so i get up at 6 a.m. have Standup at 7: a.m. attend sprint grooming meetings very thursday right after Standup All through Google Hangouts Yes there is squelching, and feedback, you learn to control that. My productivity is really great when i take on a big project, then I can work hours, and nap, and work more hours I am less afraid of searching , and downloading than when i worked at Intel, DirecTV, or Siemens I have to provide my own snacks, tea, and other drinks no freebies for me I do sometimes find it hard to turn off, so I go for walks, go out to robotics clubs, and church so I stay socialized and interact with ordinary people Not to bad for someone who has the discipline
Doesn't much matter if folks come in to work, or if they work in their underwear at home while skipping a shower for a week. Their productivity is about the same from all I can see. I do feel it's a lot easier for a slacker to goof off at home than in the office. I worked with one person for over a year that was remote, and they told me after they left that basically they surfed the internet and did personal projects most of the time. About the only time they did actual work was when metrics with deadlines were imposed or there was a major outage.
Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves.
Are remote software teams more productive than what? Than local software teams? That is an impossible question to answer without knowing much more about the teams, isn't it?
OTOH as a person running a software business with different types of teams (I have local, I have remote teams) I can say that as long as there is somebody in the remote team capable of understanding the requirement at the business level and capable of managing the team there shouldn't be any reasons for the remote team to be less productive.
Unfortunately as all things in life this also is not as simple, it is very difficult to ensure that the remote team understands the business really well, so rather than trying to achieve the unachievable you have to give out requirements in short, easier to manage portions and you have to coordinate daily.
You can't handle the truth.
...should also take into account the office format. Today's open floor plan offices is a horrible environment for programmers to work in.
Non sequitur: Your facts are uncoordinated.
I've been working remotely for about a year, after working for the same company for many years in a more traditional office environment.
It's definitely not for everyone, but I know *I* am more productive working from home. There are some extra distractions (noisy washing machine, kids, etc.), but I have an office with a door that closes, I control the music and temperature, and I'm still in constant contact with my coworkers (who are distributed across the US in various offices and home environments) via IM, email, voice chat, and conference calls.
I live in a small city that is *not* a tech center, so there is no local software development job market. But it does have a low cost of living and I have close local family ties. So if my current employment ended, I would give very high preference to a remote work opportunity. Someone would have to dangle a REALLY big carrot to make me relocate my family halfway across the country to work in an anonymous open cube farm, lose 1-2 hours a day to an infuriating commute, live in a house that costs 10x as much as I'm paying now, and require my wife to re-start her small business in a new market.
I've been working remote as a software developer for almost 9 years now. It works well for me and I've been productive even in environments where some of my teammates have been in the office. It requires tools like online meeting software and chat rooms, but it can work really well. I think people feel that being in an office means you can make sure someone is doing their work, but I've had office mates get fired when management figured out they'd been working on personal projects all day long in the office for months.
If your team is structured so poorly that you can't tell if someone is doing their work, it's not a problem with where they sit. Teams can be good or bad, productive or not completely separately from co-location.
If the company is willing to provide the tools then it is just a matter of hiring the right people. And that's true no matter the remote work policy.
There's a reason Yahoo got rid of remote workers
Yeah when I think about a well-managed company that's getting things done, I think of Yahoo...
#DeleteChrome
Yes especially for far away people and those can't be mobile like me (disabled).
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
The reason you might want to co-locate is to get the developers to talk to the users. The "distraction" is then the interaction about what it's actually meant to do It's quite shocking to see the difference between messaging and video interaction, and face-to-face (sorry remote working advocates), I can remember the moment we turned up at a remote site after working on a project for six months and seeing the a-ha moment when they realized what it was for.
Yes. Exactly. I just spent 4 hours the other day making a table that is mixed with dynamic controls and an amalgamation of ASP.NET and jQuery pixel fucking perfect when it came to borders for the control because it had to match the look of the old classic website to 'preserve the user experience.' What if I told you the user isn't going to notice that a button is 2 pixels higher up on this page when viewed in Internet Explorer 9? I could have spent the day doing something that adds value to the product, not fiddling with tiny quirks no user is going to notice anyway.
Don't be so sure...
$user complains that she can't open her email.
$me: we did copy over all your settings and your password hasn't changed. Can you show me?
$user: I used to click there, points to blank area on Desktop where Outlook icon used to be.
$me: try moving your pointer up half an inch and clicking there (pointing to Outlook icon).
$user: uhh OK I guess, I don't think i'll be able to get used to this new system
From https://www.reddit.com/r/tales...
First off, that whole 15 minutes thing is absolute bullshit. Maybe its a worst case if you were in truly deep thought over one of the hardest problems of the year. But most of the time you aren't, and it will be a few minutes Like around 1.
YMMV but whenever I'm stuck with half an hour from coming to work to a meeting or between a meeting and the lunch break or whatever I feel that time is exceptionally unproductive. Whether it's making a change or implementing something new or tracking down a bug I usually need some time to work out what it really does, what it should do and how I can do it with good code that's easy to maintain. Most botched jobs happen if I rush that, I can work quick and dirty but it builds technical debt. That I'd be three times as productive if I had an hour (15 vs 45 minutes effective time) doesn't sound too far off to me. I try to have a few "just do it" tasks ready for that, but typically they're not supposed to be my top priority. So if I had a PHB who wants me to work on that task and no other task until I'm done productivity and quality would suffer.
Secondly- your productivity doesn't matter. The team's does. Those interruptions- it means a team member needs help. They're blocked. Their productivity is at or near 0 until unblocked. If interrupting you costs 15 minutes from you but saves an hour for him, that interruption is worth it for the team. There are almost 0 of those interruptions that aren't a net gain.
Depends on how many of these interruptions are from your team and about work, not to mention if they've actually checked and read the documentation or is just asking because bugging you is easier than making the effort themselves. That said, answering simple questions or checking Bob's calendar to see if he's in a meeting doesn't break the flow for me, that I can push/pop off the mental stack. If I need to take 5-10 minutes to check/discuss/explain/investigate/show something though I've decided I'm already distracted so time to check my inbox and answer what I can now before they're at my doorstep. Sadly we're not big enough to have a support staff to shield us from the solutions we've developed so it's DevOps and most the users are one or two floors down.
Live today, because you never know what tomorrow brings
I think I used to work with her!
My favorite is:
$user: I can't find my document!
$me: Where did you save it?
$user: In Word.
$me: Yes, I understand it was a Word doc... but where did you save it? Was it in your network documents folder? On your team's shared folder?
$user: Oh, yeah. Sorry. It was in Word. .... Fast forward 10 minutes as I look through recent documents and other breadcrumb trails and ask questions about the contents of the document in question.
$me: Is this what you were looking for? (pointing to an excel spreadsheet)
$user: Yes! That's it! Thank you so much! I hate this computer..... it is always losing my documents! Can I get a new computer?
It's a bit harsh to call the conclusion of a study "absolute bullshit" solely on the strength of your personal experience. Maybe you're god and you only need 1 minute to recover from an interruption, but most people need more time. 10-15 Minutes sounds about right for me.
Your remark about team productivity is spot on. However I strongly disagree that most interruptions during the day are team members getting stuck and needing help. In my experience it's often pointless crap, or stuff that can easily wait until the end of the day. If a team member does need help on something, does that really drop their productivity to 0? Perhaps they have other stuff to work on (though I do understand that such a context switch is a thief of productivity as well).
I've actually heard managers use that argument of team productivity to justify pointless interruptions.
If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
> also if the management and the rest of the team is willing to make the effort to communicate and coordinate.
If you're the only person working remotely in a company where everyone else is in the office 9-5, I could see that being a problem. If a lot of people work remotely, even working from home two days per week, everyone figures out how to make that work.
In my professional career of almost 20 years I've only worked at a few different companies, but all did remote dev and ops work succesfully. In one company *most* people came to the office most days. Other people lived a thousand miles from the office. In all the other companies most people did not come in the office. I had one guy working for me and for months at a time I didn't know or care where in the world he was at the time.
Currently, I work at a place with scrums three times per week. That pretty well solves the communication issues. I'm not a big fan of Agile and Scrum overall, but it does facilitate communication. This company also has offices all over the world - I think that happened before people starting working remote a lot. Because different teams were already in different countries, all meetings include video conferencing by default. The whole infrastructure and everything is built on the assumption that people may be working from different locations. Therefore it doesn't matter if that location is our UK office or your house - either way I'm working with someone who isn't here in Dallas. Because I'm in Dallas, I *can* go into the office (other co-workers can't), but that requires sitting in traffic. Simply working from home instead of sitting in traffic saves an hour a day of unproductive time.
The company before this one, each person had a well-defined role. Each system had an "owner", someone responsible for that system. I developed amd maintained our online learning system (ecampus), someone else was responsible for the courses hosted on that ecampus, etc. That reduced the need for constant communication and coordination because you didn't have many chefs working on the same stew.
Before that, I worked at a very small company which at one point didn't have any two employees in the same city - we were all remote. At that company we used a ticket system for small jobs, larger jobs werw clearly assigned to one person, thereby reducing the need for constant communication.
As you said, it also depends on the individuals involved, some people are better at remote work than others. A big part of that is a few things you can learn (and teach). A company considering making changes to their remote work policy should consider a short training session for remote workers. Mainly covering these two items:
Set up a seperate work area, away from the normal distractions of the home. In my case, my office is the only thing upstairs, other than some storage and a guest bedroom. I go upstairs to work, I go downstairs to go home. There's never any confusion of whether I'm at work (upstairs) or at home (downstairs). If necessary, the office can be in one corner of a room, but it should be a defined place and with as few household distractions as possible.
Set and keep defined work hours. If I'm downstairs at 10:00 AM, I'm late for work. My wife needs me to do something around the house? I'll do that after 5:00, after work. Similarly, after 5:00 I'm at home with my family - I don't make it a habit to ignore my family at work all evening.
After doing this many years and establishing habits, I can *occasionally* work late in the evening or take care of a household issue during the day, just as people who drive to the office to work occasionally stay late. 90% of the time, though, I keep my work space and work time seperate from my home space and home time. Confusing the two leads to many of the problems people have working from home.
As a lead video game tester for Accloade/Infogrames/Atari (same company, different owners, multiple personality disorders), I was responsible for a Nintendo GameBoy Advanced title. I was in California, the producer was on the East Coast, the developer's management team was in London, and the developer's programmers were in Australia. I didn't like this arrangement because I was answering British emails at 6AM, East Coast emails during the day, and Australian emails at 12AM. This around the clock development cycle drove me nuts for four months until the game shipped.
I know that trying to set up a new server, set up DFS, configure esxi, etc is pretty difficult when people keep walking into my office. A few weeks ago I was trying to re-cable a bunch of patch panels and switches, after the third person walked by and stopped for some random conversation I lost track and plugged a switch back into another twice and caused a small outage.
I end up working 2-3 hours after 5:00PM often because of interruptions, and usually at home on the weekends for another 10-12 hours. I figure I'm up to about 70 hours a week at this point. Almost every conversation ends in "send in a ticket, I'm not going to remember all that and am in the middle of XYZ" which often I can tell annoys them and/or they just don't believe me. Closing the door only makes the end-users knock on it. I finally put up a special sign for my lunch that says "AT LUNCH: UNLESS IT'S ON FIRE FILE A TICKET" that usually seems to help.
The fact that the recently fired my boss, and dropped all his responsibilities into my lap isn't helping either. He hated documentation, had worked there for 12 years, and had everything in his head. I've only been there for a bit over six months.