This works well for factory jobs, but not so great for software development.
From this derives all the stuff about dressing in uniform, good timekeeping (introduces discipline and routine), the need to see the workers doing what the manager understands to be work (i.e. coding window open, typing out code), it's what smacks down on anything perceived to be procrastination from a distance, what maintains a level of suspicion that the staff will, where possible, do as little work as they can get away with.
This whole model seems to be (though almost always not quite consciously) the universally accepted approach most everywhere. That, combined with the fact that many IT managers are not technical themselves, results in a lot of the stupidities within the industry I think (especially so in internal IT).
Software development is extremely sensitive to ability level and environment I feel, so the typical suspicion and focus on things utterly unimportant to the job itself really, really take away from the task itself. What is especially pernicious is the desire to see work as the manager defines it done, i.e. sitting down and coding. Software development consists of many things other than coding including planning, thinking about the problem, etc. and that attitude not only takes away from the process which actually results in good software, it promotes those developers who just sit there coding out crap and punishes those coders who want to think things through more clearly.