I am working on a software project with multiple people. We are all in different locations, so we meet over Zoom and manage our shared software via Github.
The software is scattered over many files, and some of those files change more often than others. A few of them change a lot.
Every time two people make a change to any one of these files, there is a potential for conflict. The computer doesn’t know whether your change and mine might cause a conflict — it just knows that we both trying to change the same file.
And so it complains, and doesn’t let us do that. Instead, the computer expects us to manually resolve our conflict, or what it perceives to be our conflict.
So we develop practices of splitting our programs up into many little separate files. That minimizes the chances that you and I will want to make software changes in the same file at the same time.
In the coming years, as our world becomes ever more virtual, and when we all start to embrace mixed and augmented reality on the job, I wonder whether this principle will start to apply more to workflow out here in the physical world.
If we want the computer to help us, will we need to start breaking down our tasks into little pieces, so the computer can figure out how to support multiple people working together?