One recipe for killing the productivity of your developers is to require them to develop in a particular environment without having control over important aspects of that environment. Let me give a couple of examples. In one project I worked on, the object oriented application accessed the relational database through a number of stored procedures. The developer, however, wasn't allowed to change any of the stored procedures. They had to go through the database team which was responsible for all changes in the stored procedures. In another case, the developer needed to test the application in a remote environment but didn't have full access to that environment to be properly debug problems. Again, they needed to depend on other people to help them debug the problem.
In development, you need the ability to make changes. Any time you need to work through other people to make those changes, you will dramatically slow down the progress. Giving the developer the proper access in the first place makes the development go much more efficiently.Download