Software Development – Team Collaboration

Software development involves people, knowledge, technique, tools, methodologies, and more. Managers, software architects, developers, and quality assurance teams have many challenges to deal with, particularly with the increasing geographic dispersion of software services teams across the entire globe. A lot of focus in the software industry has been on improving the productivity of these global teams, with particular emphasis in recent years on giving teams a seamless experience in collaboration.

Consider some of the problems we normally encounter when we communicate and collaborate with colleagues on a software development effort:

  • When you need to see if a colleague has arrived at work, you actually go to their desk and see if they’re there.
  • When you want to talk to a colleague about an issue, you meet in person or make a telephone call to discuss.
  • Information on an employee’s absence, such as when he is on vacation, is often stored in a shared spreadsheet, which may not be properly kept updated and may not be integrated with the project plan.
  • Because you don’t know everyone’s vacation schedule, you may be waiting for a response from a colleague, only to learn afterwards he is out of the office.
  • Likewise, part-time consultants may have irregular schedules that change, making it difficult to know when they are available for work.
  • Regular updates to the team on the project’s progress requires status meetings, which may require gathering everyone into one place, and take time.

Software development tools are designed to help some aspects of managing a team, but they also introduce some challenges:

  • Tools designed to facilitate tasking, such as issue trackers and requirements management tools, are separate from the coding environment, causing a disconnect between the coding change and the impetus for the change.
  • Instant messaging such as Google IM is very effective for communication. However, they too are disconnected from the coding environment, meaning context is lost when messages are sent about bugs and requirements. Likewise, they are one-on-one communication, so there is no sense of communicating with a team this way.
  • E-mail is of course a great way to communicate with both, whole teams and individuals, but the same problems persists—no context between the mention of a bug ticket and the code the developer will change as a result.
  • Neither e-mails nor IM integrate with the bug trackers, and discussion on these items between developers, managers, and end users can be lost or misfiled, or stored in a decentralized manner, in the inboxes of those who participated in the discussion but are not visible to the entire team.

All of these add up to one main problem—it is not elegant to see all the team activity on a project. On one extreme, there are too many disconnected tools; on the other, too many manual processes—both lead to reductions in team productivity. They are all challenges related to collaboration.

Read more at IBM Rational Team Concert Article from Packt Publishing.

This entry was posted in reviews, software, technology and tagged , , , , . Bookmark the permalink.

One Response to Software Development – Team Collaboration

  1. Pingback: Suresh Krishna

Leave a Reply

Your email address will not be published. Required fields are marked *