There are certainly more wrong ways to structure a software development organization than there are correct ways. No single organizational structure, however, will meet every company's needs. Centralized development organizations are often too big to be responsive to departmental concerns. Decentralized organizations may not have enough staff to provide needed specialty skills. Nevertheless, certain organizational concepts apply no matter how you structure your developers. For instance, integrated software development teams, where software architects, developers, testers, and other specialists are teamed together, almost always have fewer barriers to success than more traditional "silo" organizations. In the latter, software architects , developers, and testers are divided into separate teams and hand over the project from one step of its life cycle to another. There are several problems with this type of organization. First, it is not conducive to iterative development processes. Secondly, since no group has ownership in the other's products, there is a natural tendency to blame problems on the work of another group . Chapter 6 focuses on organizing your software development organization for success and provides more information on these and other organizational topics.