Slashdot Mirror


Ask Slashdot: What Can Distributed Software Development Teams Learn From FLOSS?

An anonymous reader writes: As a long time free software proponent and leader of a small development team (10+ people) within a mid-sized company, I always try to incorporate my experiences from both worlds. Lately I was confronted with the need to accept new team members from abroad working on the same codebase and I expect to have even more telecommuting people on my team in the future (even though research suggests the failure rate of virtual teams could be as high as 70%). On the other hand, FLOSS does not seem to suffer from that problem, despite being developed in a distributed manner more often than not. What can corporations and managers learn from FLOSS to make their distributed teams more successful? Consequently, what FLOSS tools, methods, rules, and policies can and should be incorporated into the software development process within a company more often? I'm interested in hearing what you think, especially regarding technical issues like source code ownership and revision control systems, but also ways of communication, dealing with cultural differences, etc.

10 of 133 comments (clear)

  1. You Can't Fix It by Anonymous Coward · · Score: 4, Insightful

    FLOSS can simply reject code that's not up to standard. If someone on your team turns in shitty code you can't always just not use it.

    1. Re:You Can't Fix It by Zero__Kelvin · · Score: 4, Interesting

      An AC, very close to first post, and it is actually spot on!

      Unless you can get management to sign on to a mentality of "it will be done when it's right" rather than "it will be done on Thursday" you have no hope of achieving FLOSS levels of success. I'm not saying you shouldn't try your best, merely that you should be aware of your limitations and from whence they come up front.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    2. Re:You Can't Fix It by ranton · · Score: 4, Insightful

      Unless you can get management to sign on to a mentality of "it will be done when it's right" rather than "it will be done on Thursday"

      A mentality of "it will be done when it's right" is almost as foolish as "it will be done on Thursday." Software will never be "right". Quality software requires people who are able to perform proper risk management during all stages of development. I will not prevent my team from moving from discovery to design just because I think there may be requirements we are missing (hint: there always will be). We will move on when I believe the risks of moving on are less than the risks of not moving on.

      My current backlog is full of feature requests, suggestions for more clear UIs, bug fix requests, etc. If I waited for my backlog to be clear before each release, my boss would still be waiting for our alpha version. Part of my job is also making business users comfortable with my change management decisions. If my bosses implore me to finish testing too early or slack on documentation, it is largely my fault for not convincing them it is a bad idea.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
  2. Re:Skype is for children. by Anonymous Coward · · Score: 5, Insightful

    I use IRC and chat pretty extensively at work, but some conversations just work better over voice.

    Not everything's a nail. Just sayin'.

  3. FLOSS has the same issues by bloodhawk · · Score: 4, Insightful

    Who told you FLOSS doesn't have those problems? they lied. many FLOSS projects fall apart because of the "virtual teams" of people with different goals and aspirations. I would not be surprised if the failure rate is even higher than 70%

  4. What can on-location software teams learn from OSS by phantomfive · · Score: 4, Insightful

    Here's what a lot of teams need to learn:

    A lot of meetings can be done more efficiently and effectively by email. Here are ways you can tell:

    1) If half the people in the meeting are checking devices, not listening, the meeting should have been done by email.
    2) If everyone sits down at the 'stand up' most of that meeting should have been done by email.
    3) If people are standing around with blank looks on their face, the meeting is probably a waste.
    4) If the meeting is in the morning, and after lunch no one can remember what happened, the meeting is a waste.
    5) If the meeting ends exactly one hour after it starts, then it's a time filler. Finish the meeting when everything is accomplished, not when the time is up.
    6) If it's not clear what needs to be accomplished in the meeting, it's a waste of a meeting and should be cancelled.

    Someone above suggested that the meeting could be done over IRC instead of email. That is also a perfectly acceptable alternative.

    --
    "First they came for the slanderers and i said nothing."
  5. Yup, exactly by Giant+Electronic+Bra · · Score: 4, Insightful

    All you probably NOTICE are the more successful FLOSS projects. For each one of those, there are 100, possibly even 1000 that languish, maybe make a release or two, and then lie in their shallow graves on sourceforge for the next 10 years.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    1. Re:Yup, exactly by gweihir · · Score: 4, Informative

      Very much so. Most FLOSS projects fail or are not very good. The other thing is that successful FLOSS projects often have very small teams of very good and dedicated people. Often you find that things are handled by just one person that really, really knows what they are doing.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  6. 70% "Failure Rate"? by engineerErrant · · Score: 4, Informative

    Gimme a break. One talking head wants to publish a "study" and suddenly it's canon? What does "failure" of a virtual team even mean? Probably, less money for the talking head.

    Virtual-enabled teams, in my own experience, may not result in any massive, curve-jumping gains suitable for a click-baity headline, but I do think they are at least as good, and decisively better in a few key ways, as traditional, rigidly office-bound teams. They are cheaper facilities-wise, and result in vastly higher morale and loyalty among the employees who are able to work from home. They do not result in goofing off or falloff of productivity, except among employees who were worthless anyway.

    Ultimately, virtual-enabled teams amplify whatever is good or bad about the leadership and quality of the hires. Good hires become great hires because they don't waste their work house stuck in ever-increasing traffic. Do-nothing managers become disaster managers. And the morons who represent the failure of the hiring process will spend their days at the beach and be discovered far earlier than they would have.

    Virtualization is a Great Thing. But it highlights how the current state of management and hiring in software is a Terrible Thing. Don't believe the haters.

  7. Face-to-Face Communication Matters by sk999 · · Score: 4, Interesting

    Many years a go I was coordinating a group of developers that was somewhat larger than yours and possibly even more distributed. E-mail and phone conferences were fine, but they were no substitute for face-to-face communication. At some point I just decided that we all needed to get together for a 2-day meeting every month, which meant everyone else had to fly in, except for those in Asia, who joined by videoconference in spite of ridiculous time zone differences. No objections from upper management. It definitely helped (and later learned that people regretted when I stopped holding the meetings.) The key is to make sure you work in a place where it is a non-stop flight for everyone else.

    At the moment I am working on a project where the center of activity is two time zones away. Coming up on a review, I realized that there was a big disconnect in how the people in charge thought my part of the project would work - this in spite of our having even more advanced online collaborative tools to communicate. On my own initiative, I flew out to where the rest of the project is located. It was for 2 days, and it was extremely productive - indeed, essential.

    There always seems to be a mandate in organizations that people travel too much, and it needs to be cut back. I look at it the opposite - people don't travel enough.