After quite a long time of wandering about working for various companies, I have come across the following rules of Large Businesses. 1. A large company will spend any amount of money to save spending a fiver. My other half used to take half an hour to get into the building he worked in. He didn't mind because it was chargeable time, he just took a book. The problem is that door entry cards are very expensive -- they can't be issued to contractors in case they don't return them. So he'd sit outside the door, reading, for half an hour on average every day before someone would come along and let him in (by tailgating, of course). At fifty quid an hour, you have to wonder how expensive those access cards are... 2. A large company regards employee time as an infinitely compressible free resource. 2.1 Employee time is so expensive it cannot be used. I used to suggest I went and cleaned up some of the company's codebase. Tidy up the build system and so on. I'd get refused permission to do it -- which meant no access to those bits of code and no manager to force the repository managers into giving me access. The usual reason was that no-one could budget the time for me to do it on such a low priority project. The internal cost of employee time was factored into the decision-making. This ignores several important points; 1. I wasn't working on a project at the time. 2. The company has ALREADY decided how much employee time it's bought. You don't have to pay for it again, you just have to use what you've bought. Using time you've already paid for is free gain... 3. I couldn't be assigned to any other project because they were already fully-staffed. So I would spend a while browsing the web, writing email, writing a book... because basically no-one could think up any new work of a high enough priority to allocate my time. The requests just got turned down, by people with no accountability for the effective waste of money the represented in having me "unassigned". 3. Large enough organisations can support schizophrenia. I've found several organisations where the paperwork happens in completely divorced fashion from the actual coding. The coding gets done in an almost XP fashion down here at floor level, and over there is a bundle of people who are happily emailing each other project files and word documents. Which contain information about a fictional project that may or may not match the software produced. 4. Companies believe money comes in separate types. Hence you come to the stupid situation of being able, for example, to hire new staff, but not buy desks to sit them at. Because the staff budget is underspent but the desk budget overspent. Transferring money between budgets appears to be an anathema -- the amounts required for each pile were guessed at in advance a year ago. If reality doesn't match up with accounting, reality is the one at fault. Following from rule 1, it's obvious to derive that in a large company, the accounting effort to transfer money is so large that ANY other expense is worth paying. 5. Companies allow people to cost the company money without accounting for it. Large companies have people whose job it is to say "no". They often appear to not need to make justifications for it, but they also are never held to account for it. This leads into rules 1, 3 and 4. The managers who vetoed using my spare time on maintenance work were never asked to find me anything else to do that they considered worth spending money the company had already agreed to spend. That's not their job, after all. They get to say no, but they don't get to have to account for the wasted time. Likewise, the person who vetoed issuing the access card was probably never asked to account for the hundreds of pounds in un-used developer time.