Job Description Silos
When trying to build cross-functional teams, or even teams that just cooperate with each other, don’t underestimate the power of the environment to get in your way (or to help).
Lots of people are familiar with Conway’s Law, but many people don’t realise that it matters even inside a team.
If you have a DBA, a tester, a front-end developer, and a back-end developer, your system will reflect each of those specialties. It will have parts that cannot be understood or worked on by anybody but people who fill those roles. What’s more, the job descriptions themselves will discourage people from working on other areas.
Why?
Because progress for a DBA look like jr DBA -> DBA -> sr DBA; progress for a tester looks like jr tester -> tester -> sr tester -> staff tester. Your combination of professional ladder and siloed job roles discourage people from learning skills that aren’t directly linked to their roles.
The more role names and job descriptions you have, the worse it gets. If you want people to share the same work, and the same sense of responsibility, give them the same titles. There will still be areas that draw some people more than others, but by deliberately removing organisational boundaries, and recognising progress that crosses skillsets (and not just progress that deepens them), you remove the systemic pressure to stay in your lane.
Ultimately, if you want small, cross-functional teams, everybody in the team needs to be able (and willing) to pitch in to get things out the door. Even if it’s not their normal area.