We are considering creating a feature team with three frontend/UX developers and a few backend developers (no full stack developer). I would like to know whether putting them together in a cross-functional team makes sense if the two groups share very little knowledge and technology stacks.
My understanding is that the benefits of a cross-functional feature team lie in helping people better deliver customer value by
- team helping each other to get things done
- keeping focus on the feature with common backlog and low total WIP
- reducing hand-offs
- etc.
If the frontendists have JavaScript-based stack, the backendists Java-based stack and share little knowledge and technology, it may seem the above points are not satisfied:
- the two groups cannot help each so much due to little shared knowledge and unidirectional dependencies
- the two groups frequently get out of sync because, e.g., designs for new features must be prepared in advance; this leads to high total WIP
- because of the out-of-sync problem and unidirectional dependencies, there are still hand-offs, just hidden inside the team
Separating the teams smells with waterfall, but does joining the two groups together in a team outweigh the cost in this case?
Does it make sense to separate the frontend team and perhaps make the backend part more cross-functional towards the core of the system instead?
Do you have successful experience with frontend+backend teams without full-stack developers (or teams with little shared knowledge in general)?
Thanks