Sometimes you just have to sit back and shake your head. You see software development teams striving to get their work done efficiently while the whole organization seems bent on introducing obstacles to development. At one place I worked, they have a team who developed an object to relational database interface and mandated that all other teams use it. Then, when problems occur, they are slow at resolving them. I've seen teams that are put in place to be in charge of release management. Their job is to get detailed instructions from the developers on how to manage the release and to follow them step by step going back to the developers for questions if things go wrong. I've seen developers who are responsible for defining the database schema without having the authority to actually make the changes even on their own test databases. The most effective organizations are ones where the power to do work is put into the hands of those who are most capable of doing it. Dividing the work introduces obstacles and can cause development to grind to a halt.
Download