On this page, you will learn how people use computing to enhance collaboration.
The worldwide nature of the Internet both requires and enables collaborative design. Human capabilities can be enhanced by collaboration via computing.
Computers these days are so small and so inexpensive that nearly everyone has one in their pocket. So, for a software project to be successful,
Another reason a variety of people on the design team is desirable is to help avoid bias in the innovation. In some early testing of self-driving cars, it was found that they weren't good at detecting pedestrians who were people of color. This wasn't deliberate, of course; the artificial intelligence program that detected pedestrians had been trained on a vast collection of photographs of people, in which all the people happened to be light-skinned. Luckily this problem was discovered in early testing, before the self-driving cars were really sent out on the road.
How do computers and the Internet enable collaboration? The way that's most taken for granted is the worldwide telephone system. Telephones are older than computers, but the early telephone systems didn't have area codes, let alone country codes. You could dial people in your town, but to call anyone else you had to ask an operator (a telephone company worker) to connect you by hand. Today, connecting telephone calls is done by computer, and you can dial just about any telephone on Earth yourself.
Computers are more visibly involved when you use virtual meeting software. Skype, the best-known example, is free in the sense of not costing you money to use it (although not in the sense of giving you the right to see or modify the software). But Skype's free service degrades significantly if more than two or three people are on the call. Both Skype and other companies offer commercial virtual meeting software that can connect dozens of users with good quality.
Besides talking with each other, developers can collaborate on multi-author documents using software that allows them to share the ownership of an online document. The best-known such system is Google Docs; like Skype, it's free in the money sense but not in the sense of sharing the software that implements it.
Systems that allow several people to edit the same document at the same time have the problem that one person's edits may contradict another person's. Revision control systems, of which the best-known is Git (free in both senses), support a more complicated but safer kind of collaboration: Each person has a private copy of the shared document, and edits that copy. When a collaborator is ready to share an edit with the rest of the team, the software synchronizes the local changes with the online, shared version. If changes from two collaborators conflict, the software won't allow the synchronization until the conflicting text is resolved. The software also remembers the complete history of who changed what when, so it's possible to undo a change even if other parts of the document have changed since then. But succeeding with Git does require a certain level of expertise.