There are many approaches to how to structure a company's IT shop to better fit the needs of the core business. In my scenario, developing web and mobile access is central to the the needs of the organization of which I am thinking. It is structured such that development is done by one group of worker bees, another for maintenance, another still for testing, etc. etc.
It seems this structure tends to lend itself to adversarial relationships because each area has its own measure of what success is:
Development --> Time To Market
Maintenance --> Stability of the environment
Testing --> Making sure they don't get spanked if something goes wrong.
There are many other organizational groups (for lack of a better term) for analysts, project managers, designers, etc. In a perfect world, these groups would create checks and balances against one another, but in the end priority invariably gets placed on TTM, sometimes to the detriment of the other players. This creates a lot of tension whenever releases come because an attitude of 'throwing code over the wall' prevails as the MO.
What other organizational structures have you observed in industry that better lend themselves to a greater sense of cohesiveness amongst the players?