The logic behind it is that if the project requires being handed off constantly that they will be designed in a way that all developers are interchangeable and anyone can work on anything.
My office tried that like a decade ago and the problem was that there is a ton of needs that aren’t directly part of the code that impact how the system should function and vary wildly between projects. Project A has legal requirements, B is a fun thing but is for someone with very specific expectations, and C has different legal requirements than A. The same kind of change request for all three may be implemented differently in all three in a way that makes both designing and fixing bugs very different and constant switching means nobody has time to be up to speed on everything at the same time because software is more than whether or not it passes testing.
Example: Names for individuals in A might need to be limited to last names only for display purposes for all roles except system administrators who can see full names. Full names can be displayed in B. Full names can be displayed in software C for system administrators, but limited to initials for everyone else. Try keeping that stuff straight when adding something new involving names after changing systems constantly!
The logic behind it is that if the project requires being handed off constantly that they will be designed in a way that all developers are interchangeable and anyone can work on anything.
My office tried that like a decade ago and the problem was that there is a ton of needs that aren’t directly part of the code that impact how the system should function and vary wildly between projects. Project A has legal requirements, B is a fun thing but is for someone with very specific expectations, and C has different legal requirements than A. The same kind of change request for all three may be implemented differently in all three in a way that makes both designing and fixing bugs very different and constant switching means nobody has time to be up to speed on everything at the same time because software is more than whether or not it passes testing.
Example: Names for individuals in A might need to be limited to last names only for display purposes for all roles except system administrators who can see full names. Full names can be displayed in B. Full names can be displayed in software C for system administrators, but limited to initials for everyone else. Try keeping that stuff straight when adding something new involving names after changing systems constantly!