In a software development company we have developers, testers, designers, etc.<p>There are two ways to sit together:<p>1. By functional teams. Several developers sit together and share knowledge and information. Several designers sit together, etc.<p>2. By cross-functional teams. These teams consist of 6-10 people (dev, testers, designers) that are focused on a specific feature or module. It may server the goal well, but what about learning?<p>So what do you think? What option you think is best?