Software development is a team game.
When we want to deliver more work, one of the variables that we can change is the team size. But as we all know, increasing the team size does not automatically translate into increased productivity & more features shipped.
If things are left unmanaged, people can step on each other toes, block each other & generally decrease the overall productivity of a given software project.
In this talk we'll identify different problems teams can face & see how we can solve them using different strategies & patterns.
In the end, we want to enable the team to perform better & ship features with high confidence. We want enable the team & put its potential into building good software.
Problems we are going to cover:
- Constant merge conflicts / working in the same files
- Blocking each other on different features / Feature deadlock
- Constantly switching between bugfixing & feature development
- Constant regressions and things breaking down
- Fighting with local setup & not being able to properly test things, especially when working with 3rd parties
- Merge strategies & improving the work with git & GitHub
- Communication between team members & ego fights
For each problem, we are going to propose different solutions with provided real-life examples from our experience & projects.
The examples show are going to be in the context of large Python / Django projects.
This talk is the natural sequel of the following talks from previous EuroPythons: