Slashdot Mirror


How Do You Maintain Long-Distance Projects?

overseer asks: "Recently, I've been working with an increasing number of overseas workers. Regardless of where they are located, or how well they are trained, the common problem that we have is communication across timezones. In a typical 9-6:30 day, none of my working hours overlaps with those of my coworkers in Europe and Asia. If I come in early, or stay late, I can call one or the other but the truth of the matter is that most of my communication is done through email, and results in (at best) a 15 hour turnaround time for even the smallest question. This is OK for large, slow moving projects, but when we are working on 'Now' problems, or doing detail work, it makes it very hard to communicate. It also makes casual communication or constructive feedback next to impossible. Several of my coworkers have adapted by working extended hours, or by taking their work home with them -- this is something that I'd like to avoid. What methods have Slashdot readers found/created to get around the problem of working in multiple timezones?"

7 of 52 comments (clear)

  1. Accountability by leaping_laughter · · Score: 1, Insightful

    I work (code, manage) on several distributed teams. Our saving grace is a shared standard of coding conduct. Everyone (EVERYONE) is held to the standards, regardless of whether they're in India, or whether they wrote the guidelines. Secondary lesson: Create complete guidelines, by which you're willing to live or die.

  2. Step #1 by RingDev · · Score: 5, Insightful

    Don't outsource overseas when timing and collaboration are a primary concern. In the world of in house custom app development, any money saved on over seas outsourcing labor will be lost in delays, communication break downs, and lack of understanding. Not saying that developers overseas are worse, just that when you are rebuilding an invoicing system it is much easier if you can talk to the accounting/leasing departments directly and they can tell you immediately if something breaks.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    1. Re:Step #1 by digidave · · Score: 2, Insightful

      "Not saying that developers overseas are worse, just that when you are rebuilding an invoicing system it is much easier if you can talk to the accounting/leasing departments directly and they can tell you immediately if something breaks."

      Not only that, but programmers in general need to improve the way they communicate with end-users on in-house development. Outsourcing even next door makes communication worse. One thing I've been trying to improve on myself over the past few years is talking to the users about more than just their bug reports and software trouble. I work with them as they use a legacy system and I watch how they balance paperwork with data input and historical record retrieval. If I can learn how to do the end-user's job before I even start designing the program I'm going to write then I'm much better off later in the development cycle. I end up being able to code huge portions of the app saying to myself, "wow, this is such a great way to solve this problem!".

      On the same line of thought, up until the end of 2004 I spent five years working as a programmer in the marketing department of a large company. It was a weird setup, but I learned a lot. This has been invaluable at my current position where I've taken the lead on things such as corporate branding. I have non-programming skills that nobody else at this small company has. I've routinely been asked to sit in on meetings that had nothing to do with programming because my input on other matters is respected.

      Now ask yourself what computer science program teaches this stuff? None that I know of. Far too many programmers spend huge portions of their career thinking that they should only be programming. Programming is little more than the end result of applying your skills to solve business problems. If you don't understand the business you won't be able to solve those problems as well as you could.

      If I can sum up my point to make it relevant to this topic, it's that you need to stop outsourcing wherever you can. The benefits to developing in-house are innumerable if the programmers take the initiative to communicate and learn about the business. This sort of communication is an ongoing process that lasts years and spans many projects, not something that can be learned by a project manager in two weeks while he or she writes down a thousand use cases and diagrams.

      --
      The global economy is a great thing until you feel it locally.
  3. Be the glue! by Anonymous Coward · · Score: 4, Insightful

    Not to sound like Laurence Fishburne, but I have encountered the problem you are after and took a long step toward mitigating it by shifting my hours to 6:00 a.m. to 3:00 p.m. This still gives me 6 hours working overlap with the 8:00 a.m. to 5:00 p.m. crowd and gives me two hours overlap in which I can have AIM chats, fast turn around e-mail and even phone calls with the our partners in the U.K. and then relate these to the rest of my team during the remainder of the day.

    Of additional merit is that traffic from at 5:30 a.m. is a tiny fraction of 7:30. And that getting off at 3:00(ish) means the gym at my apartments is empty and all the daytime places (banks, Post Office, and specialty shops) are all open and uncrowded.

    It's worth the effort to shift, and the quiet time in the morning at work is tremendously productive.

  4. Permanent midnights by Anonymous Coward · · Score: 1, Insightful

    You flip a coin (or play online game to determine winner, whatever floats your boat), loser team goes on permanent third shift in their time zone, meaning same or overlapping time with the other team. Besides that, there is no good fix for this problem. You can't have it both ways unless there's an actual change in someone's working arrangement. I think this is basic relativity we are staring at. If you can beat relativity, you won't need to be working coding on podunk projects....

    Then, figure out which moron thought it was a good idea to outsource half the work, and fire them, or get them fired. You would think by now smart people would have figured out this globalization scam is a congame.

  5. Offset your time by WebHostingGuy · · Score: 2, Insightful

    Simply because you are working with others in different time zones doesn't mean you have to work longer. All you need to do is shift your start or end time. Instead of working 9-5 (don't we all wish) work 6-2 or 12-8. And have one or two persons in the other time zone similiarly shift a few hours. This will allow you to overlap with the other people.

    A lot of industries do this. Take for example stock brokers on the west coast. They have to be in their office when the stock markets open on the east coast. So, they tend to be in by 5am and out by 1pm. They don't work longer hours because of it, but just modify their work day. Now, you shouldn't have to do this everyday you could do one or two days a week, while someone else does the other days. That way someone can pass off information and no one is working excessive hours.

    --
    Quality Hosting e3 Servers
  6. Re:Relocate... by dubl-u · · Score: 2, Insightful

    If you've got one of those tight budgets, you could even ship yourself off to India. It'd be cheaper to live there, so you could even take a voluntary pay cut!

    Speaking as an American consultant who is in Bangalore trying to save an at-risk project, I think that's the way to go.

    Email and phone lines are ridiculously low bandwidth compared with being in the same room eight hours a day. To make good software, you need the developers in the same place as the people who know what needs to get made. I don't care whether that's in New York, Bulgaria, Bangalore, or Alabama, but it has to happen.