Collaborative programming

Updated: 01/07/2025 by Computer Hope
Computer programming

Collaborative programming is a software development method where two programmers work on the same project simultaneously on a shared computer. One of the programmers writes the code, while the other reviews the code as it is being entered. If the reviewer identifies issues or has suggestions, they can purpose suggestions or may take over to correct the code. During development, the two may switch roles. Additionally, partners may switch if the development team is large enough.

Note

Collaborative programming is also called collaborative coding, mob programming, pair programming, and team programming.

Setting up a collaborative programming environment

When creating a collaborative programming environment, we recommend a single computer with two or more monitors, two keyboards, and two mice. Each programmer should also have enough room for a chair and space to feel they're not hovering over the other person as they program. This setup gives the programmers a less crowded feeling and makes it seem like each programmer has their own computer without interfering. Having a personal keyboard also helps programmers with a different keyboard layout and who have different keyboard macros or settings that would make working together more difficult.

Tip

IDE (Integrated Development Environment) tools like Visual Studio also have features like Visual Studio Live Share to help with collaborative development.

Pros of collaborative programming

Below are some positive aspects of collaborative programming.

  1. Collaborative programming reduces the number of errors created during development because two sets of eyes and two brains are better than one.
  2. If one programmer is a novice, they could learn more from an expert programmer, making collaborative programming a form of training.
  3. Creates more team members familiar with all parts of the code and prevents the company from having only a single programmer who knows the code.
  4. Eliminates distractions if both programmers are focused on the code, making it difficult to get distracted with other tasks like e-mail.

Cons of collaborative programming

Below are some negative aspects of collaborative programming.

  1. Some argue that having two people develop one thing is too costly for the return it offers.
  2. If you have an expert and novice programmer collaborating, the amount of work the expert does is reduced compared to what they could do alone.
  3. When two novice programmers collaborate, their lack of experience may slow development without yielding mutual benefits.
  4. Not everyone works well together.

Agile development methods, Collaboration, DevOps, Programmer, Programming, Programming terms