Working on a software project that involves more than one person is tough. Everything seems to slow down and get harder as you add more people to the team. This happens for many reasons. In this chapter, we will explore a few of these reasons and also try to provide some ways of working that aim to improve the collaborative development of code.
First of all, every code base evolves over time, and it is important to track all the changes that are made, even more so when many developers work on it. That is the role of a version control system.
It's very common that multiple people expand the same code base simultaneously and in parallel. It's definitely easier if all these people have different roles and work on different aspects. But that's rarely true. Therefore, a lack of global visibility generates a lot of confusion about what is going on, and what...