Vertical teams, which own complete slices of the product, can lead to advantages such as clear ownership and faster feature delivery.
However, a purely vertical team structure can result in overlapping functionality and duplication of code.
Fragmented ownership and technical debt are also challenges faced by vertical teams.
To mitigate these issues, companies can establish horizontal teams for core functionalities and implement processes for code sharing and architectural consistency.