When I started working with product development, I changed my mind about the team structure responsible for building products. Before that, I thought we could have silos; each would only be responsible for a specific product domain. So, for example, engineering only would take care of code, designers, only UI/UX, and so on.
It works, and many companies use this structure. However, it also has two drawbacks:
- The team doesn’t have interdisciplinary discussions and the vision of all domains when solving a problem;
- It needs a central figure of a PO/PM to make the interface between the silos.
Cross-functional teams solve them.
Cross-functional teams are people from different departments who work together to achieve a common goal. They increase efficiency because they make decisions and receive feedback faster, and they can innovate more because they share different viewpoints and knowledge.
The point is that cross-functional teams enable the whole team to share information quickly, creating a fast feedback loop.
Of course, this configuration also brings disadvantages if not handled properly. For example, it could limit the professional growth of individual members, which we can solve by creating team rotations.