Certain tasks suit themselves better to cooperation or collaboration. I am not a programmer but it seems like collaboration is harder with programming?
Certain tasks suit themselves better to cooperation or collaboration. I am not a programmer but it seems like collaboration is harder with programming?
Things like continuous integration are designed to make collaboration easier.
The old style of programming was supposed to be like your "everyone brings a food item" example, but there were always hidden gotchas: maybe everyone brings dessert and there is no main course.
Continuous integration is like putting everyone in the same kitchen, so that even while people are doing their own thing, it's possible to notice such conflicts early.
I've moved from collaborative teams to more cooperative teams without really being able to put my finger on what the missing magic was. Collaboration is a beautiful thing and results in much more robust results, however it can seem nearly impossible to collaborate at times. This is a very rich and nuanced subject, imo.
Github style PRs are IMO one of the most powerful tools for this.